// The main method that run our garage public void StartService() { GarageManager newGarageManager = this.m_GarageManager; bool isDone = false; while (isDone == false) { // User choose the service he wish for. eService serviceOptionChoose = ServiceOptionChoose(newGarageManager.m_ServiceList); switch (serviceOptionChoose) { case eService.AddVehical: string VehicleLicenseNum = getNewLicenseNum(); int indexOnList = newGarageManager.IndexOfVehicle(VehicleLicenseNum); if (indexOnList != -1) { Console.WriteLine("Vehicle L.N " + VehicleLicenseNum + " is allready in the garage and his status is " + newGarageManager.VehicleList[indexOnList].VehicleStatus); } else { newGarageManager.VehicleList.Add(GetNewVehicleStatusInfo(VehicleLicenseNum)); } break; case eService.PrintVehicalList: PrintVehicleList(newGarageManager); break; case eService.UpdateVehicleStatus: UpdateVehicleStatus(newGarageManager); break; case eService.FillAirInWheels: string licenseOfVehicleToFillAir = getNewLicenseNum(); if (newGarageManager.IsInGarage(licenseOfVehicleToFillAir)) { newGarageManager.FillAir(licenseOfVehicleToFillAir); Console.WriteLine("We filled your wheels with air !"); } else { Console.WriteLine("No such vehicle in the garage with this License number"); } break; case eService.FuelUpTank: string licenseNumberForFuel = getNewLicenseNum(); if (newGarageManager.IsInGarage(licenseNumberForFuel)) { Vehicle vehicleToFuel = newGarageManager.VehicleList[newGarageManager.IndexOfVehicle(licenseNumberForFuel)].Vehicle; if (vehicleToFuel.EngineEnergyType != eEnergyType.Electricity) { eEnergyType energyTypeToFuel = getEnergyType(); float fuelToFill = ChooseNumOf("of fuel amount"); newGarageManager.AddEnergy(licenseNumberForFuel, energyTypeToFuel, fuelToFill); } else { Console.Write("we are sorry but we cannot feul up a the vehicle with fuel since he use battery ! send him to charging."); } } else { Console.WriteLine("No such vehicle in the garage with this License number"); } break; case eService.ChargeUpBattery: string licenseNumberForCharge = getNewLicenseNum(); if (newGarageManager.IsInGarage(licenseNumberForCharge)) { Vehicle vehicleToCharge = newGarageManager.VehicleList[newGarageManager.IndexOfVehicle(licenseNumberForCharge)].Vehicle; if (vehicleToCharge.EngineEnergyType == eEnergyType.Electricity) { eEnergyType energyTypeToFuel = eEnergyType.Electricity; float batteryToCharge = ChooseNumOf("of battery time to charge"); newGarageManager.AddEnergy(licenseNumberForCharge, energyTypeToFuel, batteryToCharge); } else { Console.Write("we are sorry but we cannot Charge up a the motoric vehcile since he use Fuel ! send him to fueling tank."); } } else { Console.WriteLine("No such vehicle in the garage with this License number"); } break; case eService.PrintVehicleInfo: PrintVehicleInfo(newGarageManager); break; case eService.Done: Console.WriteLine("Thanks for using our service, have a nice day and good bye!"); isDone = true; break; default: Console.WriteLine("Please choose a valide option from our service"); break; } Console.WriteLine("\n\n"); } }