static void WorkingManager() { ManagerMenu(); switch (MotorPool.EnterNumber(4, () => ManagerMenu())) { case 1: manager.Show(); break; case 2: manager.AddCar(); break; case 3: manager.RemoveCar(); break; case 4: manager.RepairCar(); break; } }
static void WorkingProgram() { while (true) { ProgramMenu(); switch (MotorPool.EnterNumber(3, () => ProgramMenu())) { case 1: WorkingManager(); break; case 2: WorkingClient(); break; case 3: ExitProgram(); break; } } }
static void WorkingClient() { //bool flag = true; //while (flag) //{ ClientMenu(); switch (MotorPool.EnterNumber(3, () => ClientMenu())) { case 1: manager.DeliveryInHire(); break; case 2: { if (client.Car.Id == 0) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Before to go it is necessary to take the car in hire!"); Console.ForegroundColor = ConsoleColor.Gray; Console.ReadKey(); goto case 1; } client.Trip(); } break; case 3: { //flag = false; manager.ReturningInHire(); } break; //} } }
public static void Run() { Highpoint.Sage.SimCore.Model model = new Highpoint.Sage.SimCore.Model(); MotorPool mp = new MotorPool(model); foreach (int passengerCapacity in new[] { 1, 3, 4, 7, 9 }) { mp.Add(new Vehicle(model, passengerCapacity)); } Console.WriteLine("Stocked a motor pool with {0} seat vehicles.\r\n", StringOperations.ToCommasAndAndedList(mp.Resources.Cast <Vehicle>(), vehicle => vehicle.PassengerCapacity.ToString())); foreach (int[] requisitions in new[] { new[] { 1, 3, 4 }, new[] { 2, 5, 7 }, new[] { 1, 5, 8 }, new[] { 8, 1, 6 }, new[] { 8, 7, 6 }, new[] { 1, 3, 4, 7, 8, 9 } }) { Console.WriteLine("\r\nTest:"); List <VehicleRequest> requests = requisitions.Select(requisition => new VehicleRequest(requisition)).ToList(); foreach (VehicleRequest vehicleRequest in requests) { Console.Write("Requested a {0} seat vehicle. ", vehicleRequest.SeatsNeeded); if (vehicleRequest.Acquire(mp, false)) { Console.WriteLine(" Got a vehicle with {0} seats.", ((Vehicle)vehicleRequest.ResourceObtained).PassengerCapacity); } else { Console.WriteLine(" Motor pool had nothing satisfactory."); } } foreach (VehicleRequest vehicleRequest in requests.Where(n => n.ResourceObtained != null)) { vehicleRequest.Release(); } } }