Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 5
0
        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);
 }
Ejemplo n.º 7
0
 public ElectricMotorcycle()
 {
     EnergySource = new Electric(k_MaximumChargeTimeOfBattery);
 }