private FuelVehicle.eFuel getFuelFromUser(FuelVehicle i_FuelVehicle, ref eExitOrCont io_ExitOrCont) { string numStr; int numOfFuel; bool isSuccseeded; FuelVehicle.eFuel correctFuelType; Console.WriteLine("Please enter type of fuel to add, 0 - soler, 1 - octan95, 2 - octan96, 3 - octan98, or press -1 to go back to the main menu"); numStr = Console.ReadLine(); putExitIfMinus1(numStr, ref io_ExitOrCont); isSuccseeded = int.TryParse(numStr, out numOfFuel); while ((!isSuccseeded || !isValidOptionType(numOfFuel) || !m_Garage.IfFuelFits(i_FuelVehicle, (FuelVehicle.eFuel)numOfFuel, out correctFuelType)) && io_ExitOrCont != eExitOrCont.Exit) { if (!isSuccseeded || !isValidOptionType(numOfFuel)) { Console.WriteLine("Wrong Choise! Please enter type of fuel to add, 0 - soler, 1 - octan95, 2 - octan96, 3 - octan98, or press -1 to go back to the main menu"); } else { m_Garage.IfFuelFits(i_FuelVehicle, (FuelVehicle.eFuel)numOfFuel, out correctFuelType); Console.WriteLine(string.Format("Wrong Choise! The fuel you enterded doesn't fit the car's fuel, the correct fuel type is: {0} please pick the right one," + " or press -1 to go back to the main menu", correctFuelType)); } numStr = Console.ReadLine(); putExitIfMinus1(numStr, ref io_ExitOrCont); isSuccseeded = int.TryParse(numStr, out numOfFuel); } return((FuelVehicle.eFuel)numOfFuel); }
private static void reFuel(string i_LicencePlate) { float ValidLittersOfFuelToAdd; eFuelTypes fuelType; int indexOfVehicleInGarage; if ((indexOfVehicleInGarage = s_MyGarage.CheckIfVehicleInGarage(i_LicencePlate)) == s_MyGarage.VehicleNotInGarage) { notRegisteredVehiclesMessages(); } else { if (s_MyGarage.VehiclesInGarage[indexOfVehicleInGarage] is ElectricVehicle) { throw new ArgumentException("NOT a fuel vehicle"); } FuelVehicle feulVehicle = s_MyGarage.VehiclesInGarage[indexOfVehicleInGarage] as FuelVehicle; if (feulVehicle.MaxFuelTankCapacity.Equals(feulVehicle.FuelLeft)) { Console.WriteLine(MessagesEnglish.k_FullTankMessage); Console.WriteLine(MessagesEnglish.k_GoingBackToMainMenuMessage); Thread.Sleep(1500); } else { ValidLittersOfFuelToAdd = enterEnergyToFill(MessagesEnglish.k_RefuelAmountMessage); fuelType = (eFuelTypes)displayEnumOptions(typeof(eFuelTypes), MessagesEnglish.k_GetFuelTypeMessage); try { s_MyGarage.Refuel(i_LicencePlate, ValidLittersOfFuelToAdd, fuelType); Console.WriteLine(MessagesEnglish.k_VehicleRefueledMessage); Console.WriteLine(MessagesEnglish.k_GoingBackToMainMenuMessage); Thread.Sleep(1000); } catch (ValueOutOfRangeException vore) { Console.WriteLine(vore.Message); Thread.Sleep(3000); Ex02.ConsoleUtils.Screen.Clear(); reFuel(i_LicencePlate); } catch (ArgumentException ae) { Console.WriteLine(ae.Message); Thread.Sleep(1500); Ex02.ConsoleUtils.Screen.Clear(); reFuel(i_LicencePlate); } } } Thread.Sleep(1000); Ex02.ConsoleUtils.Screen.Clear(); }
private void initializationEnums() { CarColor.SetListOfCarColors(); LicenseType.SetListOfLicenseType(); VehicleManager.SetVehicleList(); VehicleProperties.SetListOfOptions(); DoorNumber.SetListOfOptions(); FuelVehicle.SetEnergeyTypeList(); VehicleManager.SetBooleanList(); VehicleManager.ArrangementExtandedOptionList(); s_FirstMenuStringArray.Add(Strings.menu_options_1); s_FirstMenuStringArray.Add(Strings.menu_options_2); s_FirstMenuStringArray.Add(Strings.menu_options_3); s_FirstMenuStringArray.Add(Strings.menu_options_4); s_FirstMenuStringArray.Add(Strings.menu_options_5); s_FirstMenuStringArray.Add(Strings.menu_options_6); s_FirstMenuStringArray.Add(Strings.menu_options_7); s_FirstMenuStringArray.Add(Strings.menu_options_8); }
public void FuelVehicle(BaseVehicle i_Vehicle, FuelVehicle.eEnergyType i_FuelType, float i_Amount) { FuelVehicle vehicle = i_Vehicle as FuelVehicle; if (vehicle != null) { if (vehicle.EnergyType == i_FuelType) { vehicle.Fuel = i_Amount; } else { throw new ArgumentException(Strings.try_to_fuel_other_type_of_fuel); } } else { throw new ArgumentException(Strings.try_to_fuel_electric_vehicle); } }
private float getAmountOfFuelToAdd(FuelVehicle i_FuelVehicleToAdd, ref eExitOrCont io_ExitOrCont) { string amountOfFuelStr; float amountOfFuelToAdd, maxAmountToadd; bool isSuccseeded; Console.WriteLine("Please enter amount of fuel to add, or press -1 to go back to the main menu"); amountOfFuelStr = Console.ReadLine(); putExitIfMinus1(amountOfFuelStr, ref io_ExitOrCont); isSuccseeded = float.TryParse(amountOfFuelStr, out amountOfFuelToAdd); while ((!m_Garage.CanAddFuel(amountOfFuelToAdd, i_FuelVehicleToAdd, out maxAmountToadd) || !isSuccseeded) && io_ExitOrCont != eExitOrCont.Exit) { Console.WriteLine("Invalid amount, max amount possible to add is" + maxAmountToadd + " please add valid amount"); amountOfFuelStr = Console.ReadLine(); isSuccseeded = float.TryParse(amountOfFuelStr, out amountOfFuelToAdd); putExitIfMinus1(amountOfFuelStr, ref io_ExitOrCont); } return(amountOfFuelToAdd); }
void FillUp(FuelVehicle c) { c.FillUpEnergy(...); }
public void AddFuel(FuelVehicle i_FV, float i_LittersToAdd) { m_CurrentFuelLevel = AddEnergy(i_FV, r_MaximalFuelLevel, m_CurrentFuelLevel, i_LittersToAdd); }
public void FuelingGasolineVehicle() { int index = 0; string licenseNumber = GetLicenseNumber(ref index); string input; int fuelTypeInput; bool isLegalNumber = false; bool isCompatibleFuel = false; bool isFueled = false; FuelVehicle compare = null; float literInput; if (m_Garage.m_VehicleList[index] is ElectricVehicle) { throw new IncompatibleEnergyType(); } string msg = string.Format( @"Choose a fuel type to fill (enter the number (X) selection) : (0)- Soler, (95)- Octan95, (96)- Octan96, (98)-Octan98"); Console.WriteLine(msg); do { input = Console.ReadLine(); isLegalNumber = int.TryParse(input, out fuelTypeInput); if (isLegalNumber) { if (fuelTypeInput == (int)FuelVehicle.eFuelType.Soler || fuelTypeInput == (int)FuelVehicle.eFuelType.Octan95 || fuelTypeInput == (int)FuelVehicle.eFuelType.Octan96 || fuelTypeInput == (int)FuelVehicle.eFuelType.Octan98) { compare = m_Garage.m_VehicleList[index] as FuelVehicle; if ((int)compare.FuelType != fuelTypeInput) { throw new IncompatibleEnergyType(); } else { isCompatibleFuel = true; } isLegalNumber = true; } else { isLegalNumber = false; } } if (!isLegalNumber) { WrongInput(); } }while (!isLegalNumber || !isCompatibleFuel); string msg2 = string.Format( @"The vehicle contains {0} liters from a maximum of {1}. How much do you want to refuel?", compare.CurrentFuel, compare.MaxFuel); Console.WriteLine(msg2); do { input = Console.ReadLine(); isLegalNumber = float.TryParse(input, out literInput); if (isLegalNumber) { if (literInput <= (compare.MaxFuel - compare.CurrentFuel) && literInput >= k_Zero) { compare.CurrentFuel += literInput; compare.UpdateEnergyPercentage(); isFueled = true; } else { throw new ValueOutOfRangeException(0, compare.MaxFuel - compare.CurrentFuel); } isLegalNumber = true; } if (!isLegalNumber) { WrongInput(); } }while (!isLegalNumber || !isFueled); }