public void FillFuelInVehicle(string i_LicenceOfVehicleInGarage, FuelEngine.eFuelTypeName i_FuelType, float i_AmountToFill)
 {
     if (m_OrdersDictionary[i_LicenceOfVehicleInGarage].TheVehicle.Engine is FuelEngine)
     {
         (m_OrdersDictionary[i_LicenceOfVehicleInGarage].TheVehicle.Engine as FuelEngine).FillFuel(i_AmountToFill, i_FuelType);
     }
     else
     {
         throw new ArgumentException("The vehicle is not using fuel for energy!");
     }
 }
        private void fillFuelInVehicleFromMainManu()
        {
            bool inputIsOk = true;

            do
            {
                try
                {
                    inputIsOk = true;
                    string licenseNumber = getLicenseNumberFromUser();
                    Console.WriteLine("You have {0}% energy. You can fill up to {1} more. Please enter how may litters to fill: ",
                                      m_Garage.OrdersDictionary[licenseNumber].TheVehicle.Engine.EnergyRemainedPrecent,
                                      (m_Garage.OrdersDictionary[licenseNumber].TheVehicle.Engine.MaxEnergy - m_Garage.OrdersDictionary[licenseNumber].TheVehicle.Engine.EnerngyRemained));
                    string littersToFillStr = Console.ReadLine();
                    float  littersToFill;

                    if (!float.TryParse(littersToFillStr, out littersToFill))
                    {
                        throw new FormatException("Amount of litters is not valid!");
                    }

                    FuelEngine.eFuelTypeName fuelType = getFuelTypeFromUser();
                    m_Garage.FillFuelInVehicle(licenseNumber, fuelType, littersToFill);
                    Console.WriteLine("Your vehicle was filled successfully");
                }

                catch (ArgumentException aException)
                {
                    Console.WriteLine(aException.Message);
                }
                catch (ValueOutOfRangeException outOfRangeException)
                {
                    Console.WriteLine(outOfRangeException.Message);
                    Console.WriteLine("Note: The max is {0}.", outOfRangeException.MaxValue);
                    inputIsOk = false;
                }
                catch (Exception otherException)
                {
                    Console.WriteLine(otherException.Message);
                    inputIsOk = false;
                }
            }while (!inputIsOk);
        }