private Engine.eTypeOfEngine getEngineTypeFromUser() { bool inputFlag = false; Screen.Clear(); Engine.eTypeOfEngine engineType = Engine.eTypeOfEngine.Fuel; while (!inputFlag) { try { Console.WriteLine("Select engine type :{0}1) Fuel engine{0}2) Electric engine", Environment.NewLine); bool inputValid = int.TryParse(Console.ReadLine(), out int UserInput); if (inputValid == false) { throw new FormatException(); } if (UserInput <= 0 || UserInput > 2) { throw new ValueOutOfRangeException(2, 0); } if (UserInput == 2) { engineType = Engine.eTypeOfEngine.Battery; } else { engineType = Engine.eTypeOfEngine.Fuel; } inputFlag = true; } catch (FormatException) { Screen.Clear(); Console.WriteLine("{0}", Environment.NewLine); Console.WriteLine("->[Only numbers are acceptable,please enter number]<-"); Console.WriteLine("{0}", Environment.NewLine); } catch (ValueOutOfRangeException ex) { Screen.Clear(); Console.WriteLine("{0}", Environment.NewLine); Console.WriteLine("{0}", ex.Message); Console.WriteLine("{0}", Environment.NewLine); } } return(engineType); }
public Truck(string i_ModelName, string i_LicenseNumber, Engine.eTypeOfEngine i_EngineTypeSource, string i_WheelsModel) : base(i_ModelName, i_LicenseNumber, i_EngineTypeSource) { const int k_NumOfWheels = 16; for (int i = 0; i < k_NumOfWheels; i++) { m_Wheels.Add(new Wheel(i_WheelsModel, (float)Wheel.eMaxAirPressure.Truck)); } EngineType.CurrCapacity = (float)Fuel.eMaximumFuelCapacity.Truck; SetFuel(); }
protected Vehicle(string i_Model, string i_LicenseNumber, Engine.eTypeOfEngine i_EngineType) { this.Model = i_Model; this.LicenseNumber = i_LicenseNumber; this.m_Wheels = new List <Wheel>(); if (i_EngineType == Engine.eTypeOfEngine.Fuel) { EngineType = new Fuel(); } else { EngineType = new Battery(); } }
public Vehicle AddVehicle(string i_Model, string i_LicenseNumber, string i_WheelModel, Engine.eTypeOfEngine i_EngineTypeType, Vehicle.eVehicleType i_VehicleType) { Vehicle newVehicleToAdd = null; switch (i_VehicleType) { case Vehicle.eVehicleType.Car: newVehicleToAdd = new Car(i_Model, i_LicenseNumber, i_EngineTypeType, i_WheelModel); break; case Vehicle.eVehicleType.Motorcycle: newVehicleToAdd = new Motorcycle(i_Model, i_LicenseNumber, i_WheelModel, i_EngineTypeType); break; case Vehicle.eVehicleType.Truck: newVehicleToAdd = new Truck(i_Model, i_LicenseNumber, i_EngineTypeType, i_WheelModel); break; default: throw new ArgumentOutOfRangeException(nameof(i_VehicleType), i_VehicleType, null); } return(newVehicleToAdd); }
public Motorcycle(string i_ModelName, string i_LicenseNumber, string i_WheelModel, Engine.eTypeOfEngine i_EngineTypeSource) : base(i_ModelName, i_LicenseNumber, i_EngineTypeSource) { const int k_NumOfWheels = 2; for (int i = 0; i < k_NumOfWheels; i++) { m_Wheels.Add(new Wheel(i_WheelModel, (float)Wheel.eMaxAirPressure.Motorcycle)); } SetFuel(); }