public static void InitializeVehicleTypeList() { for (eVehicles vehicleType = eVehicles.ElectricCar; vehicleType <= eVehicles.Truck; vehicleType++) { m_VehicleTypes.Add(vehicleType); } }
public static Vehicle CreateVehicle(eVehicles i_VehicleType, string i_LicenseNumber) { Vehicle newVehicle = null; switch (i_VehicleType) { case eVehicles.FuelMotorcycle: newVehicle = new FuelMotorcycle(i_LicenseNumber); break; case eVehicles.ElectricMotorcycle: newVehicle = new ElectricMotorcycle(i_LicenseNumber); break; case eVehicles.FuelCar: newVehicle = new FuelCar(i_LicenseNumber); break; case eVehicles.ElectricCar: newVehicle = new ElectricCar(i_LicenseNumber); break; case eVehicles.Truck: newVehicle = new Truck(i_LicenseNumber); break; } return(newVehicle); }
// Energy can be fuel or battery private static float enterEnergyLeft(bool i_IsElectric, eVehicles i_Vehicle, float i_MaxEnergyLeft) { string energyLeftInput; float validEnergyLeft; Console.WriteLine(MessagesEnglish.k_GetFuelOrEnergyLeftMessage, i_IsElectric ? MessagesEnglish.k_BatteryMessage : MessagesEnglish.k_FuelMessage, i_Vehicle, i_MaxEnergyLeft); energyLeftInput = Console.ReadLine(); while (!InputValidation.IsValidFloatInput(energyLeftInput, out validEnergyLeft) || (validEnergyLeft > i_MaxEnergyLeft)) { Console.WriteLine(MessagesEnglish.k_InvalidInputMessage); Console.WriteLine(MessagesEnglish.k_GetFuelOrEnergyLeftMessage, i_IsElectric ? MessagesEnglish.k_BatteryMessage : MessagesEnglish.k_FuelMessage, i_Vehicle, i_MaxEnergyLeft); energyLeftInput = Console.ReadLine(); } return(validEnergyLeft); }
private static void createTruck(bool i_IsElectric, string i_TruckModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles i_Vehicle) { float fuelLeft; float CargoVolume; bool dangerousMaterials; float wheelsCurrentAirPressure; string wheelMaker; fuelLeft = enterEnergyLeft(i_IsElectric, i_Vehicle, k_TruckMaxFuel); dangerousMaterials = enterDangerousMaterialsInput(); CargoVolume = enterCargoVolume(); getWheelInformation(out wheelMaker, out wheelsCurrentAirPressure, s_MyGarage.TruckMaxAirPressure); Truck newTruck = CreateVehicle.CreateTruck(i_TruckModel, i_LicencePlate, fuelLeft, dangerousMaterials, CargoVolume, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner); s_MyGarage.AddVehicleToGarage(newTruck); }
private static void createMotorcycle(bool i_IsElectric, string i_MotorcycleModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles i_Vehicle) { float energyLeft; int validEngineVolume; float wheelsCurrentAirPressure; string wheelMaker; eMotorcycleLicenceType licenceType; energyLeft = enterEnergyLeft(i_IsElectric, i_Vehicle, i_IsElectric ? k_ElectricMotorcycleMaxBattery : k_MotorcycleMaxFuel); licenceType = (eMotorcycleLicenceType)displayEnumOptions(typeof(eMotorcycleLicenceType), MessagesEnglish.k_GetLicenseTypeMessage); validEngineVolume = enterEngineVolume(); getWheelInformation(out wheelMaker, out wheelsCurrentAirPressure, s_MyGarage.MotorcycleMaxAirPressure); if (i_IsElectric) { ElectricMotorcycle newElectricMotorcycle = CreateVehicle.CreateElectricMotorcycle(i_MotorcycleModel, i_LicencePlate, energyLeft, licenceType, validEngineVolume, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner); s_MyGarage.AddVehicleToGarage(newElectricMotorcycle); } else { Motorcycle newMotorcycle = CreateVehicle.CreateMotorcycle(i_MotorcycleModel, i_LicencePlate, energyLeft, licenceType, validEngineVolume, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner); s_MyGarage.AddVehicleToGarage(newMotorcycle); } }
private static void createCar(bool i_IsElectric, string i_CarModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles vehicle) { float energyLeft; eCarColors color; eNumOfDoors numOfDoors; float wheelsCurrentAirPressure; string wheelMaker; energyLeft = enterEnergyLeft(i_IsElectric, vehicle, i_IsElectric ? k_ElectricCarMaxBattery : k_CarMaxFuel); color = (eCarColors)displayEnumOptions(typeof(eCarColors), MessagesEnglish.k_GetColorMessage); numOfDoors = (eNumOfDoors)displayEnumOptions(typeof(eNumOfDoors), MessagesEnglish.k_GetNumDoorsMessage); getWheelInformation(out wheelMaker, out wheelsCurrentAirPressure, s_MyGarage.CarMaxAirPressure); if (i_IsElectric) { ElectricCar newElectricCar = CreateVehicle.CreateElectricCar(i_CarModel, i_LicencePlate, energyLeft, color, numOfDoors, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner); s_MyGarage.AddVehicleToGarage(newElectricCar); } else { Car newCar = CreateVehicle.CreateCar(i_CarModel, i_LicencePlate, energyLeft, color, numOfDoors, wheelMaker, wheelsCurrentAirPressure, i_VehicleOwner); s_MyGarage.AddVehicleToGarage(newCar); } }
private static void createVehicle(string i_VehicleModel, string i_LicencePlate, VehicleOwner i_VehicleOwner, eVehicles i_Vehicle) { bool isElectricVehicle; switch (i_Vehicle) { case eVehicles.Car: isElectricVehicle = false; createCar(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.Car); break; case eVehicles.ElectricCar: isElectricVehicle = true; createCar(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.ElectricCar); break; case eVehicles.Motorcycle: isElectricVehicle = false; createMotorcycle(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.Motorcycle); break; case eVehicles.ElectricMotorcycle: isElectricVehicle = true; createMotorcycle(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.ElectricMotorcycle); break; case eVehicles.Truck: isElectricVehicle = false; createTruck(isElectricVehicle, i_VehicleModel, i_LicencePlate, i_VehicleOwner, eVehicles.Truck); break; default: Console.WriteLine(MessagesEnglish.k_InvalidInputMessage); Console.WriteLine(MessagesEnglish.k_GoingBackToMainMenuMessage); Thread.Sleep(2000); break; } }