// Get the license size from the user. private eLisenceSize GetLicenseSize() { eLisenceSize licenseSize = eLisenceSize.Other; Console.WriteLine("Choose the number of the license Size :\n" + "(1)A " + "(2)A1 " + "(3)AB " + "(4)B1 " + "(5)Other"); string inputLicenseSizeStr = Console.ReadLine(); switch (inputLicenseSizeStr) { case "1": licenseSize = eLisenceSize.A; break; case "2": licenseSize = eLisenceSize.A1; break; case "3": licenseSize = eLisenceSize.AB; break; case "4": licenseSize = eLisenceSize.B1; break; case "5": licenseSize = eLisenceSize.Other; break; } return(licenseSize); }
// Takeing a vehicle license number and creating a new vehicleStatusInfo. public VehicleStatusInfo GetNewVehicleStatusInfo(string i_LicenseNumber) { eVehicleType vehicleType = GetVehicleType(); string vehicleOwnerName = GetVehicleOwnerName(); string vehicleOwnerPhone = GetVehicleOwnerPhone(); string modelName = GetVehicleModleName(); eEnergyType energyType = getEnergyInput(vehicleType); float maxEnergy = GetMaxEnergy(vehicleType); float energyLeft = ChooseNumOf(energyType + " Left in the vehicle (float)", 0, maxEnergy); List <Wheel> wheelList = GetWheelList(vehicleType); Vehicle newVehicle; switch (vehicleType) { case eVehicleType.MotoricCar: eColor motorCarcolor = GetColor(); int motorCarNumOfDoors = GetNumOfDoors(); newVehicle = new Car(modelName, i_LicenseNumber, energyLeft, wheelList, energyType, maxEnergy, motorCarcolor, motorCarNumOfDoors); break; case eVehicleType.ElectricCar: eColor elctCarColor = GetColor(); int elctCarNumOfDoors = GetNumOfDoors(); newVehicle = new Car(modelName, i_LicenseNumber, energyLeft, wheelList, energyType, maxEnergy, elctCarColor, elctCarNumOfDoors); break; case eVehicleType.MotoricBike: eLisenceSize licenseSize = GetLicenseSize(); int engineCapacity = GetEngineCapacity(); newVehicle = new Motorcycle(modelName, i_LicenseNumber, energyLeft, wheelList, energyType, maxEnergy, licenseSize, engineCapacity); break; case eVehicleType.ElecticBike: eLisenceSize elctLicenseSize = GetLicenseSize(); int elctEngineCapacity = GetEngineCapacity(); newVehicle = new Motorcycle(modelName, i_LicenseNumber, energyLeft, wheelList, energyType, maxEnergy, elctLicenseSize, elctEngineCapacity); break; case eVehicleType.Truck: bool hasDangerouseMaterial = IsDangerouse(); float maxWeight = ChooseNumOf("max weight of the truck"); newVehicle = new Truck(modelName, i_LicenseNumber, energyLeft, wheelList, energyType, maxEnergy, hasDangerouseMaterial, maxWeight); break; default: newVehicle = new Vehicle(modelName, i_LicenseNumber, energyLeft, wheelList, energyType, maxEnergy); break; } VehicleStatusInfo newVehicleStatusInfo = new VehicleStatusInfo(i_LicenseNumber, vehicleOwnerName, vehicleOwnerPhone, newVehicle); return(newVehicleStatusInfo); }
// Constructor public Motorcycle( string i_ModelName, string i_LisenseNum, float i_EnergyLeft, List <Wheel> i_WeelsList, eEnergyType i_FuleType, float i_MaxEnergy, eLisenceSize i_LisenceSize, int i_EngineCapasity) : base( i_ModelName, i_LisenseNum, i_EnergyLeft, i_WeelsList, i_FuleType, i_MaxEnergy) { m_LisenceSize = i_LisenceSize; m_EngineCapacity = i_EngineCapasity; }