public Motorcycle( string i_ModelName, string i_LicensePlate, float i_EnergyLeft, float i_MaxAirPressure, string i_ManufacturerName, eLicenseType i_LicenseType, float i_MaxEngineCapacity, int i_EngineCapacity, float i_CurrentAirPressure, Engine i_Engine, Vehicle.eType i_VehicleType) : base( i_ModelName, i_LicensePlate, i_EnergyLeft, k_NumberOfWheels, k_WheelsMaxAirPressure, i_ManufacturerName, i_MaxEngineCapacity, i_CurrentAirPressure, i_Engine, i_VehicleType) { m_LicenseType = i_LicenseType; m_EngineCapacity = i_EngineCapacity; }
private Vehicle createNewVehicle( string i_LicensePlate, string i_ModelName, string i_WheelManufacturer, out string o_OwnerName, out string o_OwnerPhone) { Vehicle newVehicle; Vehicle.eType vehicleType, vehicleOptions = new Vehicle.eType(); EnergySource.eSource vehicleEnergySource; EnergySource.eSource energySourceOptions = new EnergySource.eSource(); string PartOfOptionsHeaderMsg = string.Format("vehicle type"); o_OwnerName = UI.GetOwnerName(); o_OwnerPhone = UI.GetOwnerPhone(); vehicleType = (Vehicle.eType)UI.GetSpecificEnumInput(PartOfOptionsHeaderMsg, vehicleOptions); PartOfOptionsHeaderMsg = string.Format("energy source"); if (vehicleType != Vehicle.eType.Truck) { vehicleEnergySource = (EnergySource.eSource)UI.GetSpecificEnumInput(PartOfOptionsHeaderMsg, energySourceOptions); } else { vehicleEnergySource = EnergySource.eSource.GasTank; } newVehicle = VehicleFactory.CreateVehicle(vehicleType, vehicleEnergySource, i_LicensePlate, i_ModelName, i_WheelManufacturer); insertVehicleDetails(newVehicle); return(newVehicle); }
public static Vehicle CreateVehicle( Vehicle.eType i_TypeOfVehicle, EnergySource.eSource i_SourceOfEnergy, string i_LicensePlate, string i_ModelName, string i_WheelManufacturer) { Vehicle result = null; switch (i_TypeOfVehicle) { case Vehicle.eType.Motorcycle: result = new Motorcycle(i_LicensePlate, i_ModelName, i_WheelManufacturer, i_SourceOfEnergy); break; case Vehicle.eType.Car: result = new Car(i_LicensePlate, i_ModelName, i_WheelManufacturer, i_SourceOfEnergy); break; case Vehicle.eType.Truck: result = new Truck(i_LicensePlate, i_ModelName, i_WheelManufacturer, i_SourceOfEnergy); break; } return(result); }
public Car( string i_ModelName, string i_LicensePlate, float i_EnergyLeft, string i_ManufacturerName, eColor i_Color, eDoorsAmount i_DoorsNumber, float i_MaxEngineCapacity, float i_CurrentAirPressure, Engine i_Engine, Vehicle.eType i_VehicleType) : base( i_ModelName, i_LicensePlate, i_EnergyLeft, k_NumberOfWheels, k_WheelsMaxAirPressure, i_ManufacturerName, i_MaxEngineCapacity, i_CurrentAirPressure, i_Engine, i_VehicleType) { m_Color = i_Color; m_DoorsNumber = i_DoorsNumber; }
public static void AddNewCar() { Console.WriteLine("Please enter the owner's name: "); string ownersName = Console.ReadLine(); if (ownersName == null) { throw new ArgumentNullException(); } for (int i = 0; i < ownersName.Length; i++) { if (ownersName[i] != ' ' && !char.IsLetter(ownersName[i])) { throw new FormatException(); } } Console.WriteLine("Please enter the owner's telephone number: "); string ownersTelephone = Console.ReadLine(); int convertToNumber; bool isSucceededToConvert = int.TryParse(ownersTelephone, out convertToNumber); if (!isSucceededToConvert) { throw new FormatException(); } Vehicle.eType typeOfVehicleToAdd = (Vehicle.eType)EnumUserChoice(typeof(Vehicle.eType)); List <VehicleParameters> theParametresByType = Vehicle.ChooseParametrsByType(typeOfVehicleToAdd); List <object> theValueUserParameters = UserChoosesParametres(theParametresByType); // user entered values by type of vehicle Vehicle newVehicle = BuildVehicle.getVehicleFromUser(typeOfVehicleToAdd, theValueUserParameters); bool ifNotSucceededToAddVehicle = m_Garage.TryToAddVehicle(newVehicle, ownersName, ownersTelephone); if (!ifNotSucceededToAddVehicle) { Console.WriteLine("Your vehicle added to the garage!"); } else { Console.WriteLine("Your vehicle is already exist in the garage!"); } }
public static Vehicle getVehicleFromUser(Vehicle.eType i_Type, List <object> i_Paramaters) { Vehicle newVehicle = null; switch (i_Type) { case Vehicle.eType.ElectricCar: newVehicle = new ElectricCar( i_Paramaters[0].ToString(), i_Paramaters[1].ToString(), float.Parse(i_Paramaters[2].ToString()), (string)i_Paramaters[3], (Car.eColor)Enum.Parse(typeof(Car.eColor), i_Paramaters[5].ToString()), (Car.eDoorsAmount)Enum.Parse(typeof(Car.eDoorsAmount), i_Paramaters[6].ToString()), float.Parse(i_Paramaters[4].ToString())); break; case Vehicle.eType.FuelCar: newVehicle = new FuelCar( i_Paramaters[0].ToString(), i_Paramaters[1].ToString(), float.Parse(i_Paramaters[2].ToString()), i_Paramaters[3].ToString(), (Car.eColor)Enum.Parse(typeof(Car.eColor), i_Paramaters[5].ToString()), (Car.eDoorsAmount)Enum.Parse(typeof(Car.eDoorsAmount), i_Paramaters[6].ToString()), float.Parse(i_Paramaters[4].ToString())); break; case Vehicle.eType.ElectricMotorcycle: newVehicle = new ElectricMotorcycle( i_Paramaters[0].ToString(), i_Paramaters[1].ToString(), float.Parse(i_Paramaters[2].ToString()), i_Paramaters[3].ToString(), (Motorcycle.eLicenseType)Enum.Parse(typeof(Motorcycle.eLicenseType), i_Paramaters[5].ToString()), int.Parse(i_Paramaters[6].ToString()), float.Parse(i_Paramaters[4].ToString())); break; case Vehicle.eType.FuelMotorcycle: newVehicle = new FuelMotorcycle( i_Paramaters[0].ToString(), i_Paramaters[1].ToString(), float.Parse(i_Paramaters[2].ToString()), i_Paramaters[3].ToString(), (Motorcycle.eLicenseType)Enum.Parse(typeof(Motorcycle.eLicenseType), i_Paramaters[5].ToString()), int.Parse(i_Paramaters[6].ToString()), float.Parse(i_Paramaters[4].ToString())); break; case Vehicle.eType.FuelTruck: newVehicle = new FuelTrack( i_Paramaters[0].ToString(), i_Paramaters[1].ToString(), float.Parse(i_Paramaters[2].ToString()), i_Paramaters[3].ToString(), bool.Parse(i_Paramaters[5].ToString()), float.Parse(i_Paramaters[6].ToString()), float.Parse(i_Paramaters[4].ToString())); break; default: break; } return(newVehicle); }