public static Vehicle BuildVehicle(eVehicleType i_SelectedType) { Vehicle newVehicle = null; switch (i_SelectedType) { case eVehicleType.FuelTruck: newVehicle = new FuelTruck(); break; case eVehicleType.ElectricCar: newVehicle = new ElectricCar(); break; case eVehicleType.ElectricBike: newVehicle = new ElectricBike(); break; case eVehicleType.FuelBike: newVehicle = new FuelBike(); break; case eVehicleType.FuelCar: newVehicle = new FuelCar(); break; } return(newVehicle); }
internal static Vehicle CreateVehicle(eVehicleType i_VehicleType, bool i_IsElectric) { Vehicle retVehicle = null; switch (i_VehicleType) { case eVehicleType.Car: if (i_IsElectric) { retVehicle = new ElectricCar(); } else { retVehicle = new FuelCar(); } break; case eVehicleType.MotorCycle: if (i_IsElectric) { retVehicle = new ElectricMotorCycle(); } else { retVehicle = new FuelMotorCycle(); } break; case eVehicleType.Truck: retVehicle = new FuelTruck(); break; } return(retVehicle); }
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); }
private void putNewFuelTruckInGarage(string i_ModelName, string i_LicenseNumber, float i_PercentageOfEnergyLeft, bool i_IsTheTrunkCooled, float i_TrunkVolume, VehicleInGarage i_VehiclesInGarage, List <Wheel> i_Wheels) { eFuelType fuelType = FuelTruck.k_FuelType; float maxFuelInLiter = FuelTruck.k_MaxFuelInLiter; float currentFuelAmount = inputCurrentFuelAmount(maxFuelInLiter); FuelEngine fuelEngine = m_VehicleManufacturer.createNewFuelEngine(fuelType, currentFuelAmount, maxFuelInLiter); FuelTruck fuelTruck = m_VehicleManufacturer.createNewFuelTruck(fuelEngine, i_ModelName, i_LicenseNumber, i_PercentageOfEnergyLeft, i_IsTheTrunkCooled, i_TrunkVolume, i_Wheels); i_VehiclesInGarage.CustomerVehicle = fuelTruck; m_Garage.PutANewCarIntoTheGarage(i_VehiclesInGarage); }
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(); }