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); }
// 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); }
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); } }