public void ManageGarage() { string liencenseIDFromUser = string.Empty; bool isVehicleInGarage = false; GarageVehicle currentGarageToDealWith = null; Console.WriteLine("Welcome to our garage!"); string firstMenuToPrint = string.Format( @"please enter your choice: 1.Enter a new vehicle to the garage. 2.Execute an action on an existing vehicle. 3.Desplay the list of vehicle license numbers. 4.Close the garage."); Console.WriteLine(firstMenuToPrint); int inputFromUser = ValidationOfData.GetIntFromUserWithinRange(4, 1); while (inputFromUser != 4) { switch (inputFromUser) { case 1: { createNewVehicle(); break; } case 2: liencenseIDFromUser = getLicenseNumberFromUser(); isVehicleInGarage = m_HadarAndKochGarage.GetGarageVehicleFromUser(liencenseIDFromUser, out currentGarageToDealWith); if (isVehicleInGarage) { performActionOnVehicle(currentGarageToDealWith); } else { Console.WriteLine("Vehicle can not be found on our Garage."); } break; case 3: displayAllVehiclesLicenseNumber(); break; } Console.WriteLine(firstMenuToPrint); inputFromUser = ValidationOfData.GetIntFromUserWithinRange(4, 1); } }
private void createNewVehicle() { int EngineType = 1; bool isVehicleAlreadtInGarage = false; Console.WriteLine("Please enter the license number:"); string licenseNumber = ValidationOfData.GetStringFromUser(); isVehicleAlreadtInGarage = m_HadarAndKochGarage.SearchVehicleInGarage(licenseNumber); if (!isVehicleAlreadtInGarage) { Console.WriteLine("Please enter the vehicle model:"); string vehicleModel = ValidationOfData.GetStringFromUser(); string vehicleMenuToPrint = string.Format( @"Please enter the type of vehicle: 1.Car 2.Motorcycle 3.Truck"); Console.WriteLine(vehicleMenuToPrint); int TypeOfVehicleFromUser = ValidationOfData.GetIntFromUserWithinRange(3, 1); if (TypeOfVehicleFromUser != 3) { string enginMenuToPrint = string.Format( @"Please enter the type of Engine(press the number): 1.Fuel 2.Electric"); Console.WriteLine(enginMenuToPrint); EngineType = ValidationOfData.GetIntFromUserWithinRange(2, 1); } Vehicle newVehicleToGarage = Garage.CreateTheSpecificVehicle(vehicleModel, licenseNumber, TypeOfVehicleFromUser, EngineType); Console.WriteLine("Please enter the wheels manufacture name:"); string manufactureName = ValidationOfData.GetStringFromUser(); Console.WriteLine("Please enter the wheels current air pressure:"); float wheelsCurrentAirPressure = ValidationOfData.GetTheAirPressure(newVehicleToGarage); updateVehicleProperties(TypeOfVehicleFromUser, newVehicleToGarage, manufactureName, wheelsCurrentAirPressure); Console.WriteLine("Please enter your phone number:"); long phoneNumber = ValidationOfData.GetLongIntFromUser(); Console.WriteLine("Please enter your name:"); string ownerName = ValidationOfData.GetStringFromUser(); m_HadarAndKochGarage.AddVehicleToGarage(newVehicleToGarage, ownerName, phoneNumber, eVehicleStatusInGarage.InProgress); } else { Console.WriteLine("Vehicle with the same license number is already in our garage.Please try again."); } }
private void performActionOnVehicle(GarageVehicle i_CurrentGarageToDealWith) { string secondMenuToPrint = string.Format( @"Choose an option to execute: 1.Change vehicle status. 2.Maximize the air pressure of your vehicle. 3.Powered by fuel your vehicle. 4.Chagre an electric vehicle. 5.Display vechile details by license number."); Console.WriteLine(secondMenuToPrint); int secondInputFromUSer = ValidationOfData.GetIntFromUserWithinRange(5, 1); switch (secondInputFromUSer) { case 1: changeStatusOfVehicle(i_CurrentGarageToDealWith); break; case 2: fillMaxAirOfVehicle(i_CurrentGarageToDealWith); break; case 3: fillEnergyOfVehicle(i_CurrentGarageToDealWith, true); break; case 4: fillEnergyOfVehicle(i_CurrentGarageToDealWith, false); break; case 5: displayFullDetailsOfVehicle(i_CurrentGarageToDealWith); break; } }