public void TankeUpFuelVehicle(ref Vehicle i_Vehicle) { if (i_Vehicle != null) { if (i_Vehicle.EnergySystem is FuelSystem) { if (i_Vehicle.EnergySystem.MaximumEnergyStorage == i_Vehicle.EnergySystem.CurrentEnergyStorage) { Console.WriteLine("Fuel Tank is Full"); } else { ClientInteractions clientInteractions = new ClientInteractions(); float fuelAmount = clientInteractions.GetFuelAmountToAdd(i_Vehicle.EnergySystem.MaximumEnergyStorage - i_Vehicle.EnergySystem.CurrentEnergyStorage); FuelSystem.FuelType fuelType = FuelSystemUI.GetFuelTypeToAdd((i_Vehicle.EnergySystem as FuelSystem).VehicleFuelType); (i_Vehicle.EnergySystem as FuelSystem).SupplyEnergy(fuelAmount, fuelType); Console.WriteLine("Added {0} Liters To Tank successfully", fuelAmount); } } else { Console.WriteLine("Energy system Is Inappropriate"); } } else { Console.WriteLine("License Number Is Not Existing"); } }
public static FuelSystem.FuelType GetFuelTypeToAdd(FuelSystem.FuelType i_FuelType) { FuelSystem.FuelType fuelType = 0; fuelTypeLabel(); fuelTypesInstructionMessage(); fuelTypeInputMessage(); string fuelTypeString = Console.ReadLine(); try { fuelType = (FuelSystem.FuelType) int.Parse(fuelTypeString); if (fuelType > FuelSystem.FuelType.Soler || fuelType < FuelSystem.FuelType.Octan95) { throw new ValueOutOfRangeException((float)FuelSystem.FuelType.Soler, (float)FuelSystem.FuelType.Octan95); } if (fuelType != i_FuelType) { throw new ArgumentException(); } } catch (FormatException) { Console.WriteLine("Bad Fuel Type Input"); fuelType = GetFuelTypeToAdd(i_FuelType); } catch (ValueOutOfRangeException ex) { Console.WriteLine(ex.Message); fuelType = GetFuelTypeToAdd(i_FuelType); } catch (ArgumentException) { Console.WriteLine("Fuel Type Doesnot Fit To Vechicle Fuel Type"); fuelType = GetFuelTypeToAdd(i_FuelType); } return(fuelType); }