100 lines
2.8 KiB
C#
100 lines
2.8 KiB
C#
using System.Text;
|
|
using Transport;
|
|
|
|
Console.OutputEncoding = Encoding.UTF8;
|
|
|
|
Console.WriteLine("*** Transport ***");
|
|
|
|
var mgmt = new TravelManagement();
|
|
mgmt.InitializeFromFile("Data/vehicles.xlsx");
|
|
|
|
var totalCost = 0M;
|
|
|
|
var rent01 = mgmt.RentVehicle<Car>("John Smith", 10.2);
|
|
var rent02 = mgmt.RentVehicle<Rickshaw>("Emily Johnson", 3.6);
|
|
var rent03 = mgmt.RentVehicle<Rickshaw>("Ryan Hernandez", 31.4);
|
|
var rent04 = mgmt.RentVehicle<Car>("David Brown", 78.2);
|
|
var rent05 = mgmt.RentVehicle<Car>("Emily Davis", 6.7);
|
|
|
|
ReturnVehicle(rent01);
|
|
ReturnVehicle(rent03);
|
|
ReturnVehicle(rent05);
|
|
|
|
rent01 = mgmt.RentVehicle<Rickshaw>("Robert Miller", 52.1);
|
|
rent03 = mgmt.RentVehicle<Car>("Jessica Lee", 7.8);
|
|
rent05 = mgmt.RentVehicle<Rickshaw>("Tyler Martin", 2.8);
|
|
var rent06 = mgmt.RentVehicle<Car>("Melissa Taylor", 93.5);
|
|
|
|
ReturnVehicle(rent02);
|
|
ReturnVehicle(rent04);
|
|
|
|
rent02 = mgmt.RentVehicle<Car>("Matthew Clark", 25.7);
|
|
rent04 = mgmt.RentVehicle<Car>("Sarah Davis", 46.9);
|
|
|
|
ReturnVehicle(rent01);
|
|
ReturnVehicle(rent02);
|
|
ReturnVehicle(rent03);
|
|
ReturnVehicle(rent04);
|
|
ReturnVehicle(rent05);
|
|
ReturnVehicle(rent06);
|
|
|
|
rent01 = mgmt.RentVehicle<Rickshaw>("Michael Martinez", 8.1);
|
|
rent02 = mgmt.RentVehicle<Rickshaw>("Ashley Lee", 5.2);
|
|
rent03 = mgmt.RentVehicle<Car>("Kevin Johnson", 77.3);
|
|
rent04 = mgmt.RentVehicle<Car>("Lauren Thompson", 59.8);
|
|
rent05 = mgmt.RentVehicle<Rickshaw>("Justin Scott", 7.6);
|
|
rent06 = mgmt.RentVehicle<Rickshaw>("Rachel Nguyen", 2.9);
|
|
|
|
ReturnVehicle(rent01);
|
|
ReturnVehicle(rent02);
|
|
ReturnVehicle(rent03);
|
|
ReturnVehicle(rent04);
|
|
|
|
rent01 = mgmt.RentVehicle<Car>("Erica Rodriguez", 111.2);
|
|
rent02 = mgmt.RentVehicle<Car>("Brandon Kim", 22.5);
|
|
|
|
ReturnVehicle(rent05);
|
|
ReturnVehicle(rent06);
|
|
|
|
rent03 = mgmt.RentVehicle<Rickshaw>("Kayla Lee", 11.7);
|
|
rent04 = mgmt.RentVehicle<Car>("Avery Williams", 41.2);
|
|
rent05 = mgmt.RentVehicle<Rickshaw>("Jenna Kim", 4.9);
|
|
rent06 = mgmt.RentVehicle<Car>("Daniel Nguyen", 111.2);
|
|
|
|
ReturnVehicle(rent01);
|
|
|
|
rent01 = mgmt.RentVehicle<Rickshaw>("Alexis Lee", 3.3);
|
|
|
|
ReturnVehicle(rent01);
|
|
ReturnVehicle(rent02);
|
|
ReturnVehicle(rent03);
|
|
|
|
rent01 = mgmt.RentVehicle<Car>("Olivia Baker", 57.2);
|
|
rent02 = mgmt.RentVehicle<Car>("Connor Smith", 38.8);
|
|
rent03 = mgmt.RentVehicle<Rickshaw>("Gabriel Lee", 10.2);
|
|
|
|
ReturnVehicle(rent01);
|
|
ReturnVehicle(rent02);
|
|
ReturnVehicle(rent03);
|
|
ReturnVehicle(rent04);
|
|
ReturnVehicle(rent05);
|
|
ReturnVehicle(rent06);
|
|
|
|
Console.WriteLine($"Total cost of all rides: {totalCost:C2}");
|
|
|
|
var travelLog = mgmt.GetTravelLog();
|
|
var fileName = $"travel-log-{DateTime.Now:yyyy-MM-dd-HH-mm-ss}.xlsx";
|
|
string filePath = Path.Combine(Directory.GetCurrentDirectory(), fileName);
|
|
travelLog.SaveAs(filePath);
|
|
|
|
Console.WriteLine($"Travel log saved to: {filePath}");
|
|
|
|
return;
|
|
|
|
void ReturnVehicle(Vehicle? rentedVehicle)
|
|
{
|
|
if (rentedVehicle is not null)
|
|
{
|
|
totalCost += rentedVehicle.EndRide().price ?? 0;
|
|
}
|
|
}
|