public static EnergyStorage GenerateEnergyStorage(eVehicleType i_VehicleType, eEnergyType i_EnergyType) { EnergyStorage energyStorage = null; switch (i_VehicleType) { case eVehicleType.Truck: energyStorage = new Fuel(k_MaxTruckFuelTankCapacity, Fuel.eFuelType.Soler); break; case eVehicleType.Car when i_EnergyType == eEnergyType.Fuel: energyStorage = new Fuel(k_MaxCarFuelTankCapacity, Fuel.eFuelType.Octan96); break; case eVehicleType.Car when i_EnergyType == eEnergyType.Electric: energyStorage = new Electric(k_MaxCarBatteryCapacity); break; case eVehicleType.Motorcycle when i_EnergyType == eEnergyType.Fuel: energyStorage = new Fuel(k_MaxMotorcycleFuelTankCapacity, Fuel.eFuelType.Octan95); break; case eVehicleType.Motorcycle when i_EnergyType == eEnergyType.Electric: energyStorage = new Electric(k_MaxMotorcycleBatteryCapacity); break; } return(energyStorage); }
private static Vehicle createElectricCar(string i_Model, string i_LicenseNumber) { EnergySource energySource = new Electric(Consts.k_UndefinedValue, Consts.k_CarBattery); Car car = new Car(eCarEnums.kindOfColor.Undefined, eCarEnums.NumberOfDoors.Undefined, i_Model, i_LicenseNumber, Consts.k_UndefinedValue, energySource, Consts.k_CarNumOfWheel); return(car); }
private static Vehicle createElectricMotorcycle(string i_Model, string i_LicenseNumber) { EnergySource energySource = new Electric(Consts.k_UndefinedValue, Consts.k_MotorcycleBattery); Motorcycle motorcycle = new Motorcycle(eLicenseType.Undefined, Consts.k_UndefinedValue, i_Model, i_LicenseNumber, Consts.k_UndefinedValue, energySource, Consts.k_MotorcycleNumOfWheel); return(motorcycle); }
public void RechargeElectricVehicle(string i_LicenseNumber, float i_MinutesToRecharge) { IsVehicleInGarageException(i_LicenseNumber); Vehicle vehicle = this.m_GarageVehicles[i_LicenseNumber]; if (!(vehicle.EnergySource is Electric)) { throw new Exception("The given car is not electric!"); } Electric electricEngine = (Electric)vehicle.EnergySource; electricEngine.Charge((float)i_MinutesToRecharge / 60); vehicle.SetEnergyPercentge(); }
public void ChargeVehicle(string i_LicenseNumber, float i_ChargingTimeInMinutes) { Customer requestedCustomer; m_Customers.TryGetValue(i_LicenseNumber, out requestedCustomer); Electric elctric = requestedCustomer.Vehicle.EnergySource as Electric; if (null != elctric) { // the vehicle energy source is electric elctric.Charge(i_ChargingTimeInMinutes / 60); requestedCustomer.Vehicle.PercentageRemainingEnergy = requestedCustomer.Vehicle.EnergySource.GetCurrentEnergy(); } else { throw new ArgumentException(k_ErrVehicleEnergySourceNotMatch); } }
public ElectricCar() { EnergySource = new Electric(k_MaximumChargeTimeOfBattery); }
public ElectricMotorcycle() { EnergySource = new Electric(k_MaximumChargeTimeOfBattery); }