internal static Vehicle createVehicle(eVehicleType i_VehicleType, string i_LicenseNumber) { Vehicle newVehicle = null; switch (i_VehicleType) { case eVehicleType.FuelMotorcycle: newVehicle = new FuelMotorcycle(i_LicenseNumber); break; case eVehicleType.ElectricMotorcycle: newVehicle = new ElectricMotorcycle(i_LicenseNumber); break; case eVehicleType.FuelCar: newVehicle = new FuelCar(i_LicenseNumber); break; case eVehicleType.ElectricCar: newVehicle = new ElectricCar(i_LicenseNumber); break; case eVehicleType.FuelTruck: newVehicle = new FuelTruck(i_LicenseNumber); break; } return(newVehicle); }
public List <VehicleInputParam> GetVehicleInputParamList(int i_ChosenValue) { this.r_RequiredParams.Clear(); switch (i_ChosenValue) { case 1: FuelMotorcycle.GetRequiredInputParamsForFuelMotorcycle(this.r_RequiredParams); break; case 2: ElectricMotorcycle.GetRequiredInputParamsForElectricMotorcycle(this.r_RequiredParams); break; case 3: FuelCar.GetRequiredInputParamsForFuelCar(this.r_RequiredParams); break; case 4: ElectricCar.GetRequiredInputParamsForElectricCar(this.r_RequiredParams); break; case 5: Truck.GetRequiredInputParamsForTruck(this.r_RequiredParams); break; } return(this.r_RequiredParams); }
internal static Vehicle CreateVehicle(string i_VehicleType, string i_LicenseNumber) { eVehicleType vehicleType = (eVehicleType)int.Parse(i_VehicleType); Vehicle vehicle = null; switch (vehicleType) { case eVehicleType.ElectricCar: vehicle = new ElectricCar(i_LicenseNumber); break; case eVehicleType.ElectricMotorcycle: vehicle = new ElectricMotorcycle(i_LicenseNumber); break; case eVehicleType.FuelCar: vehicle = new FuelCar(i_LicenseNumber); break; case eVehicleType.FuelMotorcycle: vehicle = new FuelMotorcycle(i_LicenseNumber); break; case eVehicleType.Truck: vehicle = new Truck(i_LicenseNumber); break; } return(vehicle); }
public static Vehicle InitVehicle(eVehicleTypes i_VehicleType) { Vehicle newVehicle = null; switch (i_VehicleType) { case eVehicleTypes.FuelCar: newVehicle = new FuelCar(); break; case eVehicleTypes.ElectricCar: newVehicle = new ElectricCar(); break; case eVehicleTypes.FuelMotorcycle: newVehicle = new FuelMotorcycle(); break; case eVehicleTypes.ElectricMotorcycle: newVehicle = new ElectricMotorcycle(); break; case eVehicleTypes.Truck: newVehicle = new Truck(); break; } return(newVehicle); }
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); } }
public static ElectricMotorcycle CreateElectricMotorcycle(VehicleInformation i_vehicleInformation, Dictionary <string, Object> i_specificInformation) { Motorcycle.eLicense license = (Motorcycle.eLicense)i_specificInformation["License"]; int engineVolume = (int)i_specificInformation["Engine Volume"]; string wheelManufacturer = (string)i_specificInformation["Wheel Manufacturer"]; ElectricMotorcycle electricMoto = new ElectricMotorcycle(license, engineVolume, i_vehicleInformation, wheelManufacturer); return(electricMoto); }
private void putNewElectricEngineMotorcycle(string i_LicenseNumber, string i_ModelName, float i_PercentageOfEnergyLeft, eLicenseType i_LicenseType, int i_EngineCapacity, VehicleInGarage i_VehiclesInGarage, List <Wheel> i_Wheels) { float maxBbatteryTimeInHours = ElectricMotorcycle.k_MaxBbatteryTimeInHours; float batteryTimeInHoursLeft = inputBatteryTimeInHoursLeft(maxBbatteryTimeInHours); ElectricEngine electricEngine = m_VehicleManufacturer.createNewElectricEngine(batteryTimeInHoursLeft, maxBbatteryTimeInHours); ElectricMotorcycle electricMotorcycle = m_VehicleManufacturer.createNewElectricMotorcycle(electricEngine, i_LicenseType, i_EngineCapacity, i_ModelName, i_LicenseNumber, i_EngineCapacity, i_Wheels); i_VehiclesInGarage.CustomerVehicle = electricMotorcycle; m_Garage.PutANewCarIntoTheGarage(i_VehiclesInGarage); }
public static Vehicle CreateVehicle(int i_VehicleType, string i_VehicleLicenceNumber, string i_VehicleModelName, string i_WheelManufacturerName) { Vehicle vehicle; switch (i_VehicleType) { case 1: vehicle = new FuelCar(i_VehicleModelName, i_VehicleLicenceNumber, i_WheelManufacturerName); vehicle = vehicle as FuelCar; break; case 2: vehicle = new FuelMotorcycle(i_VehicleModelName, i_VehicleLicenceNumber, i_WheelManufacturerName); vehicle = vehicle as FuelMotorcycle; break; case 4: vehicle = new ElectricMotorcycle(i_VehicleModelName, i_VehicleLicenceNumber, i_WheelManufacturerName); vehicle = vehicle as ElectricMotorcycle; break; case 5: vehicle = new ElectricCar(i_VehicleModelName, i_VehicleLicenceNumber, i_WheelManufacturerName); vehicle = vehicle as ElectricCar; break; case 3: vehicle = new Truck(i_VehicleModelName, i_VehicleLicenceNumber, i_WheelManufacturerName); vehicle = vehicle as Truck; break; default: vehicle = null; break; } return(vehicle); }
public bool CreateVehicle(int i_OptionSelected, List <object> i_VehicleInfoParams, VehicleOwner i_VehicleOwner) { bool resultToReturn = true; Vehicle vehicleToCreate = null; GarageVehicle vehicleToAddToGarage = null; resultToReturn = checkIfVehicleIsNotInGarage((string)i_VehicleInfoParams[1]); if (resultToReturn) { switch (i_OptionSelected) { case 1: vehicleToCreate = new FuelMotorcycle(i_VehicleInfoParams); break; case 2: vehicleToCreate = new ElectricMotorcycle(i_VehicleInfoParams); break; case 3: vehicleToCreate = new FuelCar(i_VehicleInfoParams); break; case 4: vehicleToCreate = new ElectricCar(i_VehicleInfoParams); break; case 5: vehicleToCreate = new Truck(i_VehicleInfoParams); break; } vehicleToAddToGarage = new GarageVehicle(i_VehicleOwner, vehicleToCreate); this.r_GarageInstance.AddNewVehicleToGarage(vehicleToAddToGarage); } return(resultToReturn); }
private static Vehicle getVehicleFromUser() { Vehicle createdVehicle = null; List <object> userEnteredProperties = null; GarageENums.eVehicleType typeOfVehicleToAdd = (GarageENums.eVehicleType)getUserChoiceFromEnumValues(typeof(GarageENums.eVehicleType)); switch (typeOfVehicleToAdd) { case GarageENums.eVehicleType.FuelCar: userEnteredProperties = getPropertiesFromUser(FuelCar.GetRequiredProperties(), 1); break; case GarageENums.eVehicleType.ElectricCar: userEnteredProperties = getPropertiesFromUser(ElectricCar.GetRequiredProperties(), 2); break; case GarageENums.eVehicleType.FuelMotorcycle: userEnteredProperties = getPropertiesFromUser(FuelMotorcycle.GetRequiredProperties(), 3); break; case GarageENums.eVehicleType.ElectricMotorcycle: userEnteredProperties = getPropertiesFromUser(ElectricMotorcycle.GetRequiredProperties(), 4); break; case GarageENums.eVehicleType.FuelTruck: userEnteredProperties = getPropertiesFromUser(FuelTruck.GetRequiredProperties(), 5); break; default: break; } createdVehicle = VehicleGenerator.GenerateVehicle(typeOfVehicleToAdd, userEnteredProperties); return(createdVehicle); }
private void addNewVehicleToGarage() { string licensePlate = m_UserInputs.getLicensePlate(); float maxAirPressure = 0; float maxBatteryTime = 0; FuelVehicle.eFuelType fuelType; Vehicle.eTireAmount tireAmount; if (m_Garage.m_AllVehiclesInTheGarage.ContainsKey(licensePlate)) { m_Garage.changeVehicleStatus(licensePlate, Client.eVehicleStatus.Repairing); m_UserInputs.vehicleAlreadyInGarageMessage(); } else { string vehicleModel = m_UserInputs.getValidString("Please enter vehicle model name:"); string ownerName = m_UserInputs.getValidString("Please enter Owner Name"); string ownerPhone = m_UserInputs.getOwnerPhone(); float percentOfRemainingEnergy = 0; Client newClient = null; CreateVehicle.eVehicleType vehicleType = (CreateVehicle.eVehicleType)m_UserInputs.getVehicleType(); string tiresManufacturer = m_UserInputs.getValidString("Please enter the tires manufacturer:"); float currentTireAirPressure; List <Tire> listOfTires; Vehicle vehicleForProperty; if (vehicleType == CreateVehicle.eVehicleType.ElectricCar || vehicleType == CreateVehicle.eVehicleType.FuelCar) { maxAirPressure = (float)Tire.eMaxAirPressure.Car; currentTireAirPressure = m_UserInputs.getTiresPressure(maxAirPressure); tireAmount = Vehicle.eTireAmount.Car; listOfTires = CreateVehicle.createListOfTires(tireAmount, tiresManufacturer, currentTireAirPressure, maxAirPressure); Car.eColor carColor = m_UserInputs.getCarColor(); Car.eNumberOfDoors numberOfDoors = m_UserInputs.getNumberOfDoors(); Car car = CreateVehicle.createCar(carColor, numberOfDoors); if (vehicleType == CreateVehicle.eVehicleType.ElectricCar) { float remainingBatteryTime = m_UserInputs.getRemainingBatteryTime(ElectricCar.k_MaxBatteryTime); percentOfRemainingEnergy = Vehicle.getPercentOfEnergy(remainingBatteryTime, ElectricCar.k_MaxBatteryTime); ElectricCar electricCar = CreateVehicle.createElectricCar(car, remainingBatteryTime, maxBatteryTime, vehicleModel, licensePlate, percentOfRemainingEnergy, listOfTires); newClient = CreateVehicle.createClient(ownerName, ownerPhone, Client.eVehicleStatus.Repairing, electricCar); } else { fuelType = FuelVehicle.eFuelType.Octan98; float currentAmountOfFuel = m_UserInputs.getCurrentAmountOfFuel(FuelCar.k_MaxAmountOfFuel); percentOfRemainingEnergy = Vehicle.getPercentOfEnergy(currentAmountOfFuel, FuelCar.k_MaxAmountOfFuel); FuelCar fuelCar = CreateVehicle.createFuelCar(car, fuelType, currentAmountOfFuel, vehicleModel, licensePlate, percentOfRemainingEnergy, listOfTires); newClient = CreateVehicle.createClient(ownerName, ownerPhone, Client.eVehicleStatus.Repairing, fuelCar); } vehicleForProperty = newClient.m_Vehicle; Car.setProperties(vehicleForProperty, carColor, numberOfDoors); } else if (vehicleType == CreateVehicle.eVehicleType.ElectricMotorcycle || vehicleType == CreateVehicle.eVehicleType.FuelMotorcycle) { maxAirPressure = (float)Tire.eMaxAirPressure.Motorcycle; currentTireAirPressure = m_UserInputs.getTiresPressure(maxAirPressure); tireAmount = Vehicle.eTireAmount.Motorcycle; listOfTires = CreateVehicle.createListOfTires(tireAmount, tiresManufacturer, currentTireAirPressure, maxAirPressure); Motorcycle.eTypeOfLicense typeOfLicense = m_UserInputs.getTypeOfLicense(); int engineCapacity = m_UserInputs.getValidInt("Please enter engine capacity:", 0, int.MaxValue); Motorcycle motorCycle = CreateVehicle.createMotorcycle(typeOfLicense, engineCapacity); if (vehicleType == CreateVehicle.eVehicleType.ElectricMotorcycle) { float remainingBatteryTime = m_UserInputs.getRemainingBatteryTime(ElectricMotorcycle.k_MaxBatteryTime); percentOfRemainingEnergy = Vehicle.getPercentOfEnergy(remainingBatteryTime, ElectricMotorcycle.k_MaxBatteryTime); ElectricMotorcycle electricMotorcycle = CreateVehicle.createElectricMotorcycle(motorCycle, remainingBatteryTime, vehicleModel, licensePlate, percentOfRemainingEnergy, listOfTires); newClient = CreateVehicle.createClient(ownerName, ownerPhone, Client.eVehicleStatus.Repairing, electricMotorcycle); } else { fuelType = FuelVehicle.eFuelType.Octan95; float currentAmountOfFuel = m_UserInputs.getCurrentAmountOfFuel(FuelMotorcycle.k_MaxAmountOfFuel); percentOfRemainingEnergy = Vehicle.getPercentOfEnergy(currentAmountOfFuel, FuelMotorcycle.k_MaxAmountOfFuel); FuelMotorcycle fuelMotorcycle = CreateVehicle.createFuelMotorcycle(motorCycle, fuelType, currentAmountOfFuel, vehicleModel, licensePlate, percentOfRemainingEnergy, listOfTires); newClient = CreateVehicle.createClient(ownerName, ownerPhone, Client.eVehicleStatus.Repairing, fuelMotorcycle); } vehicleForProperty = newClient.m_Vehicle; Motorcycle.setProperties(vehicleForProperty, typeOfLicense, engineCapacity); } else if (vehicleType == CreateVehicle.eVehicleType.Truck) { maxAirPressure = (float)Tire.eMaxAirPressure.Truck; currentTireAirPressure = m_UserInputs.getTiresPressure(maxAirPressure); tireAmount = Vehicle.eTireAmount.Truck; listOfTires = CreateVehicle.createListOfTires(tireAmount, tiresManufacturer, currentTireAirPressure, maxAirPressure); fuelType = FuelVehicle.eFuelType.Soler; bool carrierDangerousMaterials = m_UserInputs.getIfCarrierDangerousMaterials(); float maximumCarryingWeight = m_UserInputs.getValidFloat("Please enter maximum carry weight:", 0, int.MaxValue); Truck truck = CreateVehicle.createTruck(carrierDangerousMaterials, maximumCarryingWeight); float currentAmountOfFuel = m_UserInputs.getCurrentAmountOfFuel(FuelTruck.k_MaxAmountOfFuel); percentOfRemainingEnergy = Vehicle.getPercentOfEnergy(currentAmountOfFuel, FuelTruck.k_MaxAmountOfFuel); FuelTruck fuelTruck = CreateVehicle.createFuelTruck(truck, fuelType, currentAmountOfFuel, vehicleModel, licensePlate, percentOfRemainingEnergy, listOfTires); newClient = CreateVehicle.createClient(ownerName, ownerPhone, Client.eVehicleStatus.Repairing, fuelTruck); vehicleForProperty = newClient.m_Vehicle; Truck.setProperties(vehicleForProperty, carrierDangerousMaterials, maximumCarryingWeight); } m_Garage.addVehicle(newClient); m_UserInputs.suceededToAddMessage(); } System.Console.ReadLine(); }