Exemplo n.º 1
0
 public void FillInEnergyToVehicle(
     string i_LicenseNumber,
     float i_AmountToAdd,
     out bool o_IsSucceeded,
     FuelVehicle.eFuelType?i_FuelType = null)
 {
     try
     {
         o_IsSucceeded = false;
         bool isExist = r_VehicleList.TryGetValue(i_LicenseNumber, out VehicleInShop toRefuel);
         if (isExist)
         {
             if (toRefuel.m_VehicleInShop is FuelVehicle && i_FuelType != null)
             {
                 FuelVehicle fuelVehicle = toRefuel.m_VehicleInShop as FuelVehicle;
                 if (fuelVehicle != null)
                 {
                     fuelVehicle.Refueling(i_AmountToAdd, (FuelVehicle.eFuelType)i_FuelType);
                     o_IsSucceeded = true;
                 }
             }
             else if (toRefuel.m_VehicleInShop is ElectricVehicle)
             {
                 ElectricVehicle electricVehicle = toRefuel.m_VehicleInShop as ElectricVehicle;
                 if (electricVehicle != null)
                 {
                     electricVehicle.Loading(i_AmountToAdd / 60);
                     o_IsSucceeded = true;
                 }
             }
         }
         else
         {
             o_IsSucceeded = false;
             throw new ArgumentException(k_IsNotExistError);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Fail to fill in the energy in the vehicle", ex);
     }
 }