public Car(Engine.eEnergyType i_EnergyType, string i_ModelName, string i_LiecenseNumber, string i_WheelVendorName, float i_CurrentEnergyInPercent, float i_CurrentAirPressure) : base(i_ModelName, i_LiecenseNumber, i_WheelVendorName, i_CurrentAirPressure, 4) { if (Wheels[0].CurrentAirPressure > 31f) { throw new ValueOutOfRangeException(31f, 0); } Wheels.Capacity = 4; foreach (Wheel wheel in Wheels) { wheel.MaxAirPressure = 31f; } if (i_EnergyType == Engine.eEnergyType.Electricity) { VehicleEngine = new ElectricEngine(); VehicleEngine.MaxCapacity = 1.8f; } else if (i_EnergyType == Engine.eEnergyType.Fuel) { VehicleEngine = new FuelEngine(); ((FuelEngine)VehicleEngine).FuelType = FuelEngine.eFuelTypes.Octan96; VehicleEngine.MaxCapacity = 55f; } VehicleEngine.CurrentCapacity = i_CurrentEnergyInPercent * VehicleEngine.MaxCapacity / 100; EnergyToEmptyInPrecent = i_CurrentEnergyInPercent; }
public void FuelVehicle(string i_LicenseNumber, Engine.eEnergyType io_FuelType, float io_AddAmount) { try { m_Clients[i_LicenseNumber].Vehicle.AddEnergy(io_FuelType, io_AddAmount); } catch (Exception exception) { throw exception; } }
internal void AddFuel(Engine.eEnergyType io_EnergyType, float i_AmountToAdd) { try { AddEnergy(io_EnergyType, i_AmountToAdd); } catch (Exception exception) { throw exception; } }
internal void AddEnergy(Engine.eEnergyType i_EnergyType, float i_AmountToAdd) { try { m_Engine.AddEnergy(i_EnergyType, i_AmountToAdd); } catch (FormatException exception) { throw exception; } }
public Truck(Engine.eEnergyType i_EnergyType, string i_ModelName, string i_LiecenseNumber, string i_WheelVendorName, float i_CurrentEnergyInPercent, float i_CurrentAirPressure) : base(i_ModelName, i_LiecenseNumber, i_WheelVendorName, i_CurrentAirPressure, 12) { if (Wheels[0].CurrentAirPressure > 26f) { throw new ValueOutOfRangeException(26f, 0); } Wheels.Capacity = 12; foreach (Wheel wheel in Wheels) { wheel.MaxAirPressure = 26f; } VehicleEngine = new FuelEngine(); ((FuelEngine)VehicleEngine).FuelType = FuelEngine.eFuelTypes.Soler; VehicleEngine.MaxCapacity = 110; VehicleEngine.CurrentCapacity = i_CurrentEnergyInPercent * VehicleEngine.MaxCapacity; EnergyToEmptyInPrecent = i_CurrentEnergyInPercent; }
public static Vehicle VehicleCreator(string i_ModelName, string i_LiecenseNumber, int i_VehicleType, Engine.eEnergyType i_EnergyType, string i_WheelsVendorName, float i_CurrentEnergyInPercent, float i_CurrentAirPressure) { Vehicle newVehicle; switch (i_VehicleType) { case 1: newVehicle = new Car(i_EnergyType, i_ModelName, i_LiecenseNumber, i_WheelsVendorName, i_CurrentEnergyInPercent, i_CurrentAirPressure); break; case 2: newVehicle = new Motorcycle(i_EnergyType, i_ModelName, i_LiecenseNumber, i_WheelsVendorName, i_CurrentEnergyInPercent, i_CurrentAirPressure); break; case 3: newVehicle = new Truck(i_EnergyType, i_ModelName, i_LiecenseNumber, i_WheelsVendorName, i_CurrentEnergyInPercent, i_CurrentAirPressure); break; default: throw new ArgumentException(); } return(newVehicle); }
private static void addNewCarToFix() { bool licenceExist; string modelName; string licenceNumber; float currentEnergyInPercent = -1; string wheelsVendorName; float currentAirPressure; Vehicle newVehicle; Engine.eEnergyType energyType = Engine.eEnergyType.Fuel; Car.eColorOfCar colorOfCar; Car.eNumOfDoors numOfDoors; Motorcycle.eLicenceTypes licenceType; int engineCapacity; bool isDriveingDangerousThings; float volumeOfCargo; string ownerName; string ownerPhoneNumber; int vehicleType = 0; int userChoice = 0; Console.WriteLine( @"Please choose vehicle type: 1. Car 2. Motorcycle 3. Truck"); vehicleType = inputBetweenRange(1, 3); if (userChoice == 1 || userChoice == 2) { Console.WriteLine(@"Please enter vehicle energy type: 1. Fuel 2. Electricity"); userChoice = inputBetweenRange(1, 2); switch (userChoice) { case 1: energyType = Engine.eEnergyType.Fuel; break; case 2: energyType = Engine.eEnergyType.Electricity; break; } } Console.Clear(); Console.Write("Please enter vehicle model name: "); modelName = checkEmptyInput(); Console.Write("Please enter vehicle licence number with 7/8 digits: "); licenceNumber = checkLicenceNumber(); licenceExist = m_Garage.isLicenceExist(licenceNumber); if (licenceExist == true) { Console.WriteLine("This licence number is already exists in the garage, his status became InFix."); } else { Console.Write("Please enter current energy in percent: "); currentEnergyInPercent = checkFloatParsing(); while (currentEnergyInPercent < 0 || currentEnergyInPercent > 100) { Console.WriteLine("Invalid input, the input must be between 0 to 100"); currentEnergyInPercent = checkFloatParsing(); } Console.Write("Please enter wheels vendor name: "); wheelsVendorName = checkEmptyInput(); Console.Write("Please enter current air pressure in the wheels: "); currentAirPressure = checkFloatParsing(); try { newVehicle = VehicleGenerator.VehicleCreator(modelName, licenceNumber, vehicleType, energyType, wheelsVendorName, currentEnergyInPercent, currentAirPressure); Console.Clear(); if (newVehicle is Car) { inputCarDetails(out colorOfCar, out numOfDoors); newVehicle.ChangeSpecificDetails(colorOfCar, numOfDoors); } else if (newVehicle is Motorcycle) { inputMotorcycleDetails(out licenceType, out engineCapacity); newVehicle.ChangeSpecificDetails(licenceType, engineCapacity); } else if (newVehicle is Truck) { inputTruckDetails(out isDriveingDangerousThings, out volumeOfCargo); newVehicle.ChangeSpecificDetails(isDriveingDangerousThings, volumeOfCargo); } Console.Clear(); Console.Write("Please enter your first name: "); ownerName = Console.ReadLine(); while (checkOwnerNameInput(ownerName) != true) { Console.WriteLine("Wrong input, Please enter only letters."); ownerName = Console.ReadLine(); } Console.WriteLine("Please enter your phone number in format of 10 digits:"); ownerPhoneNumber = Console.ReadLine(); while (checkOwnerPhoneNumberInput(ownerPhoneNumber) != true) { Console.WriteLine("Wrong input, Please enter only numbers with 10 digits."); ownerPhoneNumber = Console.ReadLine(); } m_Garage.AddNewCarToFix(newVehicle, ownerName, ownerPhoneNumber); } catch (ValueOutOfRangeException i_ValueOutOfRangeException) { Console.WriteLine(i_ValueOutOfRangeException.Message); } } }