Exemple #1
0
 public void ReCharge(string i_PlateNumber, float i_MinutesAmount)
 {
     if (r_VehiclesStorage.ContainsKey(i_PlateNumber) == true)
     {
         Vehicle currentVehicle = r_VehiclesStorage[i_PlateNumber].Vehicle;
         if (currentVehicle.Engine.Type == eEngineType.Electric)
         {
             ElectricEngine currentEngine = currentVehicle.Engine as ElectricEngine;
             if (currentEngine.CurrentEnergyCapacity + i_MinutesAmount <= currentEngine.MaxEnergyCapacity)
             {
                 currentEngine.ReCharge(i_MinutesAmount);
                 currentVehicle.EnergyPresentage = (currentEngine.CurrentEnergyCapacity / currentEngine.MaxEnergyCapacity) * 100;
             }
             else
             {
                 throw new ValueOutOfRangeException(0, currentEngine.MaxEnergyCapacity - currentEngine.CurrentEnergyCapacity, "Exceeding the maximum charge capacity!");
             }
         }
         else
         {
             throw new ArgumentException("Engine Type mismatch! Please Enter Electric Car Plate Number");
         }
     }
     else
     {
         throw new ArgumentException("Vehicle does not exist in the garage!");
     }
 }
        public void ChargeVehicle(string i_LicenseNumber, string i_AmountToCharge)
        {
            Vehicle vehicle;

            vehicle = m_VehicleDetailsList[i_LicenseNumber].Vehicle;
            checkVehicleIsElectricType(vehicle);
            ElectricEngine engine = vehicle.VehicleEngine as ElectricEngine;

            engine.ReCharge(float.Parse(i_AmountToCharge));
        }