private bool handleFuelTankCapacity(string i_Answer, Vehicle i_VehicleInSetting)
        {
            bool succeed = true;

            FuelBaseVehicle fuelVehicle = i_VehicleInSetting as FuelBaseVehicle;

            if (fuelVehicle != null)
            {
                succeed = float.TryParse(i_Answer, out float fuelTankCapacity);

                if (succeed)
                {
                    try
                    {
                        fuelVehicle.MaxAmountOfFuel     = fuelTankCapacity;
                        fuelVehicle.CurrentAmountOfFuel = fuelTankCapacity / 2;
                    }
                    catch
                    {
                        succeed = false;
                    }
                }
                else
                {
                    succeed = false;
                }
            }

            return(succeed);
        }
        private bool handleFuelType(string i_Answer, Vehicle i_VehicleInSetting)
        {
            bool succeed = true;

            FuelBaseVehicle fuelVehicle = i_VehicleInSetting as FuelBaseVehicle;

            if (fuelVehicle != null)
            {
                succeed = byte.TryParse(i_Answer, out byte fuelNumber);

                if (succeed)
                {
                    try
                    {
                        fuelVehicle.FuelType = FuelBaseVehicle.ConvertNumToFuelType(fuelNumber);
                        succeed = true;
                    }
                    catch
                    {
                        succeed = false;
                    }
                }
            }
            else
            {
                succeed = false;
            }

            return(succeed);
        }
Beispiel #3
0
        // check valid fuel base vehicles types
        private bool checkFuelBaseVehicleValid(
            FuelBaseVehicle i_FuelBaseVehicle, eFuelType[] i_Fuels, float[] i_MaxFuelTanks, byte[] i_NumOfWheels, float[] i_MaxAirPressures)
        {
            string message = "Error - vehicle could not enter the garage - ";
            bool   numOfWheels = false, maxAirPressure = true, fuelType = false, maxFuelTank = false;

            numOfWheels = checkVehicleValidNumOfWheels(i_FuelBaseVehicle.Wheels, i_NumOfWheels);

            if (!numOfWheels)
            {
                message += "number of wheels is not valid";
                throw new Exception(message);
            }

            maxAirPressure = checkVehicleValidMaxAirPressure(i_FuelBaseVehicle.Wheels, i_MaxAirPressures);

            if (!maxAirPressure)
            {
                message += "maximum air pressure is not valid";
                throw new Exception(message);
            }

            fuelType = checkVehicleValidFuelType(i_FuelBaseVehicle.FuelType, i_Fuels);

            if (!fuelType)
            {
                message += "fuel type is not valid";
                throw new Exception(message);
            }

            maxFuelTank = checkVehicleValidFuelTank(i_FuelBaseVehicle.MaxAmountOfFuel, i_MaxFuelTanks);

            if (!maxFuelTank)
            {
                message += "maximum fuel tank is not valid";
                throw new Exception(message);
            }

            return(numOfWheels && maxAirPressure && fuelType && maxFuelTank);
        }
Beispiel #4
0
        public void Refuel(string i_LicenseNumber, byte i_FuelNumber, float i_AmountFuelToAdd)
        {
            if (checkIfVehicleAlreadyInTheGarage(i_LicenseNumber))
            {
                FuelBaseVehicle fuelBaseVehicle = m_GarageCustomer[i_LicenseNumber].Vehicle as FuelBaseVehicle;

                if (fuelBaseVehicle != null)
                {
                    eFuelType fuelType = FuelBaseVehicle.ConvertNumToFuelType(i_FuelNumber);
                    fuelBaseVehicle.Refueling(i_AmountFuelToAdd, fuelType); // can throw exception
                }
                else
                {
                    const string k_ErrorName = "Refuel - the vehicle is not fuel base";
                    throw new Exception(k_ErrorName);
                }
            }
            else
            {
                const string k_ErrorName = "Refuel - the vehicle doesn't exist in the garage";
                throw new Exception(k_ErrorName);
            }
        }