Exemplo n.º 1
0
        //5. Refuel a fuel-based vehicle (Prompting the user for the license number, fuel type and amount to fill)
        public void RefuelVehicle(string i_LicenseNumber, eEnergyType i_FuelType, float i_FuelToAdd)
        {
            FuelVehicle vehilceToRefuel = (FuelVehicle)GetVehicleByLicense(i_LicenseNumber);

            if (vehilceToRefuel.EnergyType == i_FuelType)
            {
                if (vehilceToRefuel.CurrentFuelLevel >= vehilceToRefuel.MaximalFuelLevel)
                {
                    throw new ValueOutOfRangeException(vehilceToRefuel.MaximalFuelLevel, 0, "Tank is already full");
                }

                float currentLevel = vehilceToRefuel.AddEnergy(vehilceToRefuel, vehilceToRefuel.MaximalFuelLevel, vehilceToRefuel.CurrentFuelLevel, i_FuelToAdd);
                vehilceToRefuel.CurrentFuelLevel = currentLevel;
            }
            else
            {
                throw new ArgumentException("Wrong Type of Fuel.");
            }
        }