private static void CleanUp(CustomerResourceManager crm, Fleet fleet) { Console.CursorVisible = true; Console.Clear(); crm.Save(); fleet.SaveRentals(); fleet.SaveVehicles(); }
public CustomerManager(CustomerResourceManager crm, Fleet fleet) { _crm = crm; _fleet = fleet; AddCustomer.Submitted += AddCustomerOnSubmitted; CustomerSearch.GetComponent <Form>("initial search").Submitted += CustomerSearchOnSearch; CustomerSearch.GetComponent <Form>("customer list").Submitted += CustomerSearchOnSearch; ModifyCustomer.GetComponent <Form>("search").Submitted += ModifyCustomerOnSearch; ModifyCustomer.GetComponent <Form>("modify").Submitted += ModifyCustomerOnSubmitted; DeleteCustomer.GetComponent <Form>("select").Submitted += DeleteCustomerOnSearch; DeleteCustomer.GetComponent <Form>("confirm").Submitted += DeleteCustomerOnSubmitted; CustomerReport.PreRender += CustomerReportOnFocused; }
public FleetManager(Fleet fleet, CustomerResourceManager crm) { _fleet = fleet; _crm = crm; AddVehicle.Submitted += AddVehicleOnSubmitted; FleetSearch.GetComponent <Form>("initial search").Submitted += FleetSearchOnSearch; FleetSearch.GetComponent <Form>("customer list").Submitted += FleetSearchOnSearch; ModifyVehicle.GetComponent <Form>("search").Submitted += ModifyVehicleOnSearch; ModifyVehicle.GetComponent <Form>("modify").Submitted += ModifyVehicleOnSubmit; DeleteVehicle.GetComponent <Form>("select").Submitted += DeleteVehicleOnSearch; DeleteVehicle.GetComponent <Form>("confirm").Submitted += DeleteVehicleOnSubmitted; RentVehicle.Submitted += RentVehicleOnSubmitted; ReturnVehicle.Submitted += ReturnVehicleOnSubmitted; VehicleReport.PreRender += VehicleReportOnFocused; }
public static void Main(string[] args) { if (!Directory.Exists("../../../Data")) { Directory.CreateDirectory("../../../Data"); } var crm = new CustomerResourceManager("../../../Data/customers.csv"); var fleet = new Fleet("../../../Data/fleet.csv", "../../../Data/rentals.csv"); var customerManager = new CustomerManager(crm, fleet); var fleetManager = new FleetManager(fleet, crm); var mainMenu = new Menu("Main Menu", new Component[] { MenuGenerator.GenerateManager("Customers", customerManager).Menu, MenuGenerator.GenerateManager("Fleet", fleetManager).Menu }); var manager = new MenuManager(mainMenu); var guac = new Guac(manager); guac.Focus(mainMenu); guac.KeyPressed += async(_, ev) => { if (ev.Key.Key != ConsoleKey.Escape) { return; } ev.Cancel = true; var exitResult = await guac.ShowDialogue( "Exit", "Are you sure you want to exit?", new[] { "Ok", "Cancel" }); if (exitResult == "Ok") { ProgramRunning = false; CleanUp(crm, fleet); Environment.Exit(0); } }; Console.CursorVisible = false; while (true) { guac.HandleEventLoop(); if (!ProgramRunning) { break; } } CleanUp(crm, fleet); // ReSharper disable once FunctionNeverReturns }