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); }