private void createNewCar() { m_Wheels = GarageMain.CreateWheels(m_WheelManufacturer, m_WheelMaxAirPressure, m_WheelCurrentAirPressure, 4); Car newCar = null; if (m_VehicleType == eVehicleType.FuelBased) { FuelBasedEnergy fuelBasedEnergy = GarageMain.CreateFuelBasedEnergy(m_FuelType, m_MaxFuelAmount, m_CurrentFuelAmount); newCar = GarageMain.CreateCar(fuelBasedEnergy, m_Wheels, m_LicenseNumber, m_ModelName, m_CarColor, m_CarNumberOfDoors); } if (m_VehicleType == eVehicleType.Electric) { ElectricEnergy electricEnergy = GarageMain.CreateElectricEnergy(m_MaxBatteryTimeAmount, m_CurrentBatteryTimeAmount); newCar = GarageMain.CreateCar(electricEnergy, m_Wheels, m_LicenseNumber, m_ModelName, m_CarColor, m_CarNumberOfDoors); } Garage.AddNewVehicle(newCar, m_OwnerName, m_OwnerPhoneNumber); vehicleAddedSuccessfullyMessage(); }
private void createNewMotorcycle() { m_Wheels = GarageMain.CreateWheels(m_WheelManufacturer, m_WheelMaxAirPressure, m_WheelCurrentAirPressure, 2); Motorcycle newMotorcycle = null; if (m_VehicleType == eVehicleType.FuelBased) { FuelBasedEnergy fuelBasedEnergy = GarageMain.CreateFuelBasedEnergy(m_FuelType, m_MaxFuelAmount, m_CurrentFuelAmount); newMotorcycle = GarageMain.CreateMotorcycle(fuelBasedEnergy, m_Wheels, m_LicenseNumber, m_ModelName, m_MotorcycleLicenseType, m_MotorcycleEngineVolume); } if (m_VehicleType == eVehicleType.Electric) { ElectricEnergy electricEnergy = GarageMain.CreateElectricEnergy(m_MaxBatteryTimeAmount, m_CurrentBatteryTimeAmount); newMotorcycle = GarageMain.CreateMotorcycle(electricEnergy, m_Wheels, m_LicenseNumber, m_ModelName, m_MotorcycleLicenseType, m_MotorcycleEngineVolume); } Garage.AddNewVehicle(newMotorcycle, m_OwnerName, m_OwnerPhoneNumber); vehicleAddedSuccessfullyMessage(); }
private void createNewTruck() { m_Wheels = GarageMain.CreateWheels(m_WheelManufacturer, m_WheelMaxAirPressure, m_WheelCurrentAirPressure, 12); FuelBasedEnergy fuelBasedEnergy = GarageMain.CreateFuelBasedEnergy(m_FuelType, m_MaxFuelAmount, m_CurrentFuelAmount); Truck newTruck = GarageMain.CreateTruck(fuelBasedEnergy, m_Wheels, m_LicenseNumber, m_ModelName, m_IsContainsDangerousMaterials, m_TruckCargoVolume); Garage.AddNewVehicle(newTruck, m_OwnerName, m_OwnerPhoneNumber); vehicleAddedSuccessfullyMessage(); }
private void showEnterVehicleMenu() { string licensePlateSrting = getLicensePlaterNumberFromUser(); if (m_Garage.DoesVehicleExist(licensePlateSrting)) { m_Garage.ChangeVehicleStatus(licensePlateSrting, eStatus.InRepair); Console.Clear(); Console.WriteLine("We already have this vehicle in our database. Status change to 'In Repair'"); } else { const string k_Fuel = "Fuel"; const bool v_IsFuel = true; string ownerName = getOwnerName(); string ownerPhone = getOwnerPhone(); string vehicleType = getVehicleType(); string vehicleModel = getVehicleModel(); float energyLeft; if (vehicleType.Contains(k_Fuel)) { energyLeft = getEnergyLeft(v_IsFuel); } else { energyLeft = getEnergyLeft(!v_IsFuel); } string wheelManufacturer = getWheelManufecturer(); float wheelCurrentAirPressure = getWheelCurrentAirPressure(); int i = 0; List <KeyValuePair <string, Type> > requiredDataList = VehicleInfo.GetRequiredDataOfSpecificVehicleType(vehicleType); string[] parameters = new string[requiredDataList.Count]; foreach (KeyValuePair <string, Type> requiredData in requiredDataList) { Console.Clear(); Console.WriteLine("Please enter {0}", requiredData.Key); if (requiredData.Value.IsEnum) { Console.WriteLine("Enter one of the values below:"); string[] enumNames = Enum.GetNames(requiredData.Value); foreach (string name in enumNames) { Console.WriteLine("{0}", name); } Console.WriteLine(); } else if (requiredData.Value == typeof(bool)) { Console.Write("Enter 'Y' or 'N': "); } string input = Console.ReadLine(); while (string.IsNullOrEmpty(input) || input.Trim().Length == 0) { Console.WriteLine("Please enter a non-empty string. Try again"); input = Console.ReadLine(); } parameters[i] = input; i++; } try { m_Garage.AddNewVehicle(vehicleType, licensePlateSrting, vehicleModel, ownerName, ownerPhone, energyLeft, wheelManufacturer, wheelCurrentAirPressure, parameters); Console.Clear(); Console.WriteLine("We have entered your vehicle into our system."); } catch (ArgumentException) { Console.Clear(); Console.WriteLine("One or more of the given arguments you have entered are not valid. Try again"); } catch (ValueOutOfRangeException) { Console.Clear(); Console.WriteLine("One or more of the given argument you have entered are out of valid range. Try again"); } catch (FormatException) { Console.Clear(); Console.WriteLine("One or more of the given arguments you have entered are not valid format. Try again"); } } }