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");
     }
 }
Ejemplo n.º 2
0
        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);
        }