public DataExtractor(eValidVehicle vehicleType, string licenseNumber) { VehicleType = vehicleType; LicenseNumber = licenseNumber ?? throw new ArgumentNullException(nameof(licenseNumber)); Console.WriteLine("Please enter your name:"); OwnerName = Console.ReadLine(); Console.WriteLine("Please enter your phone number:"); OwnerNumber = Console.ReadLine(); Console.WriteLine("Enter model name:"); Model = Console.ReadLine(); Console.WriteLine("Enter wheel manufacturer:"); WheelManufacturer = Console.ReadLine(); getExtraDetails(); getVechicleSpecificDetails(); }
public ComposedVehicle CreateTruck( eValidVehicle i_eValidVehicle, string i_OwnerName, string i_OwnerPhoneNumber, string i_LicenseNumber, string i_ModelName, string i_WheelManufacturer, float i_WheelPressure, float i_CurrentPower, float i_TruckCapacity, bool i_IsCooled) { Vehicle vehicle = VehicleFactory.CreateTruck(i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_WheelPressure, i_CurrentPower, i_TruckCapacity, i_IsCooled); ComposedVehicle composedVehicle = new ComposedVehicle(vehicle, i_OwnerName, i_OwnerPhoneNumber); return(composedVehicle); }
public ComposedVehicle CreateMotorcycle( eValidVehicle i_eValidVehicle, string i_OwnerName, string i_OwnerPhoneNumber, string i_LicenseNumber, string i_ModelName, string i_WheelManufacturer, float i_WheelPressure, float i_CurrentPower, eLicencseType i_eLicenseType, int i_EngineCapacity) { Vehicle vehicle; ComposedVehicle composedVehicle; if (i_eValidVehicle == eValidVehicle.RegMotorCycle) { vehicle = VehicleFactory.CreateMotorcycle( i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_WheelPressure, i_CurrentPower, i_eLicenseType, i_EngineCapacity); } else { vehicle = VehicleFactory.CreateElectricMotorcycle( i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_WheelPressure, i_CurrentPower, i_eLicenseType, i_EngineCapacity); } composedVehicle = new ComposedVehicle(vehicle, i_OwnerName, i_OwnerPhoneNumber); return(composedVehicle); }
public ComposedVehicle CreateAutomobile( eValidVehicle i_eValidVehicle, string i_OwnerName, string i_OwnerPhoneNumber, string i_LicenseNumber, string i_ModelName, string i_WheelManufacturer, float i_WheelPressure, float i_CurrentPower, eColor i_eColor, eNumOfDoors i_eNumOfDoors) { Vehicle vehicle; ComposedVehicle composedVehicle; if (i_eValidVehicle == eValidVehicle.RegCar) { vehicle = VehicleFactory.CreateAutomobile( i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_WheelPressure, i_CurrentPower, i_eColor, i_eNumOfDoors); } else { vehicle = VehicleFactory.CreateElectricAutomobile( i_ModelName, i_LicenseNumber, i_WheelManufacturer, i_WheelPressure, i_CurrentPower, i_eColor, i_eNumOfDoors); } composedVehicle = new ComposedVehicle(vehicle, i_OwnerName, i_OwnerPhoneNumber); return(composedVehicle); }
// $G$ DSN-007 (-5) This method is too long, it should have been split into several methods. // $G$ DSN-011 (-7) The component responsible for creating vehicles should be implemented in the Logic project... private void insertVehicleFlow(string i_License) { bool isVehicleInserted = false; int selection = getSelection(k_InsertVehicleTypeSelect, validCarTypeMenu); eValidVehicle validVehicle = (eValidVehicle)selection; ComposedVehicle vehicleToInsert = null; if (GM.IsVehicleInGarage(i_License)) { // print active car menu Console.WriteLine("The status of vehicle with the license {0} was changed to repair.", i_License); GM.ChangeVehicleStatus(i_License, eVehicleStatus.OnRepair); } else { // car not in garage - print "enter full details". DataExtractor dataExtractor = new DataExtractor(validVehicle, i_License); try { if (validVehicle == eValidVehicle.ElectricalCar || validVehicle == eValidVehicle.RegCar) { vehicleToInsert = GM.CreateAutomobile( dataExtractor.VehicleType, dataExtractor.OwnerName, dataExtractor.OwnerNumber, dataExtractor.LicenseNumber, dataExtractor.Model, dataExtractor.WheelManufacturer, dataExtractor.CurrentWheelPressure, dataExtractor.PowerLeft, dataExtractor.EColor, dataExtractor.ENumOfDoors); } else if (validVehicle == eValidVehicle.RegMotorCycle || validVehicle == eValidVehicle.ElectricalCycle) { vehicleToInsert = GM.CreateMotorcycle( dataExtractor.VehicleType, dataExtractor.OwnerName, dataExtractor.OwnerNumber, dataExtractor.LicenseNumber, dataExtractor.Model, dataExtractor.WheelManufacturer, dataExtractor.CurrentWheelPressure, dataExtractor.PowerLeft, dataExtractor.ELicenseType, dataExtractor.EngineSize); } else { vehicleToInsert = GM.CreateTruck( dataExtractor.VehicleType, dataExtractor.OwnerName, dataExtractor.OwnerNumber, dataExtractor.LicenseNumber, dataExtractor.Model, dataExtractor.WheelManufacturer, dataExtractor.CurrentWheelPressure, dataExtractor.PowerLeft, dataExtractor.TruckCapacity, dataExtractor.IsCooled); } isVehicleInserted = GM.InsertVehicle(vehicleToInsert); if (isVehicleInserted) { Console.WriteLine("Vehicle with license {0} has entered the garage.", i_License); System.Threading.Thread.Sleep(1000); } } catch (ValueOutOfRangeException voore) { Console.WriteLine(voore.Message); Console.WriteLine("Vehicle was not added"); } } }