private void pickVehicleFromUser() { string modelName, licenseNumber, wheelsManufacturerName, color, vehicleType; float percentageOfVehicleEnergy = 0, wheelsCurrentAirPressure = 0, currentFuel = 0, timeRemainingBattey = 0; bool checkInputFromTheUser = false; Console.WriteLine(r_insertLicenseNumber); licenseNumber = Console.ReadLine(); bool checkLicenseNumberExists = m_garage.CheackIfVehicleInGarageExists(licenseNumber); if (!checkLicenseNumberExists) { do { Console.WriteLine("please insert your vehicle type, truck, motorcycle or car"); vehicleType = Console.ReadLine(); }while (!checkType(vehicleType)); GarageLogic.Car.eVehicleColor eVehicleColor; Console.WriteLine("please enter model name"); modelName = Console.ReadLine(); Console.WriteLine("please enter Wheels Manufactur Name"); wheelsManufacturerName = Console.ReadLine(); Console.WriteLine("please insert wheels current air pressure, insert only number"); cheackTryParseFloat(checkInputFromTheUser, ref wheelsCurrentAirPressure); cheackMinAndMaxWheelsTirePresure(vehicleType, wheelsCurrentAirPressure); Console.WriteLine("please enter your name"); m_owner = new GarageLogic.Owner(); m_owner.OwnerName = Console.ReadLine(); Console.WriteLine("please enter your phoneNumber"); m_owner.OwnerPhoneNumber = Console.ReadLine(); m_owner.LicenseNumber = licenseNumber; m_garage.OwnerInGarage.Add(m_owner); switch (vehicleType.ToLower()) { case "car": string type; Console.WriteLine("please enter color: Red, Blue, Black, Gray"); color = Console.ReadLine(); eVehicleColor = initColor(color); do { Console.WriteLine("please enter if your car is electric or fuel"); type = Console.ReadLine(); }while (!checkType(type)); switch (type) { case "electric": Console.WriteLine("please enter time remaining battey from 0 - 1.8, "); cheackTryParseFloat(checkInputFromTheUser, ref timeRemainingBattey); energyRangeCheack(0, 1.8f, timeRemainingBattey); percentageOfVehicleEnergy = m_garage.CalculatePercentageOfEnergy(1.8f, timeRemainingBattey); m_newVehicle.AddNewElectricCar(modelName, licenseNumber, percentageOfVehicleEnergy, timeRemainingBattey, eVehicleColor, wheelsManufacturerName, wheelsCurrentAirPressure); break; case "fuel": Console.WriteLine("please enter current fuel from 0 to 55, "); cheackTryParseFloat(checkInputFromTheUser, ref currentFuel); energyRangeCheack(0, 55, currentFuel); percentageOfVehicleEnergy = m_garage.CalculatePercentageOfEnergy(55f, currentFuel); m_newVehicle.AddNewFuelCar(eVehicleColor, modelName, licenseNumber, percentageOfVehicleEnergy, currentFuel, wheelsManufacturerName, wheelsCurrentAirPressure); break; } m_garage.VehiclesInGarage.Add(m_newVehicle.Car); break; case "truck": bool isDrivingDangerousMaterials; float volumeOfCargo = 0; Console.WriteLine("please enter current fuel from 0 to 110, Insert only numbers"); cheackTryParseFloat(checkInputFromTheUser, ref currentFuel); energyRangeCheack(0, 110, currentFuel); percentageOfVehicleEnergy = m_garage.CalculatePercentageOfEnergy(110f, currentFuel); Console.WriteLine("please enter 'true' if you transport dangerous materials else 'false'"); checkInputFromTheUser = bool.TryParse(Console.ReadLine(), out isDrivingDangerousMaterials); cheackFormatException(checkInputFromTheUser); checkInputFromTheUser = false; Console.WriteLine("what is your volume of your cargo?, Insert only numbers"); cheackTryParseFloat(checkInputFromTheUser, ref volumeOfCargo); m_newVehicle.AddNewTruck(isDrivingDangerousMaterials, volumeOfCargo, modelName, licenseNumber, percentageOfVehicleEnergy, currentFuel, wheelsManufacturerName, wheelsCurrentAirPressure); m_garage.VehiclesInGarage.Add(m_newVehicle.Truck); break; case "motorcycle": do { Console.WriteLine("please enter if your car is electric or fuel"); type = Console.ReadLine(); }while (!checkType(type)); Console.WriteLine("enter your engine capacity in cc, Insert only numbers"); int engineCapacityIncc = 0; checkInputFromTheUser = int.TryParse(Console.ReadLine(), out engineCapacityIncc); cheackFormatException(checkInputFromTheUser); checkInputFromTheUser = false; Console.WriteLine("enter which license you have: A, A1, A2 or B"); string tempLicence = Console.ReadLine(); GarageLogic.Motorcycle.eLicenseType eLicense = initELicense(tempLicence); switch (type) { case "electric": Console.WriteLine("enter time remaining battey from 0 to 1.4, "); cheackTryParseFloat(checkInputFromTheUser, ref timeRemainingBattey); energyRangeCheack(0, 1.4f, timeRemainingBattey); percentageOfVehicleEnergy = m_garage.CalculatePercentageOfEnergy(1.4f, timeRemainingBattey); m_newVehicle.AddNewElctricMotorcycle(engineCapacityIncc, modelName, licenseNumber, percentageOfVehicleEnergy, timeRemainingBattey, eLicense, wheelsManufacturerName, wheelsCurrentAirPressure); break; case "fuel": Console.WriteLine("enter current fuel for 0 to 8, "); cheackTryParseFloat(checkInputFromTheUser, ref currentFuel); energyRangeCheack(0, 8f, currentFuel); percentageOfVehicleEnergy = m_garage.CalculatePercentageOfEnergy(8f, currentFuel); m_newVehicle.AddNewFuelMotorcycle(eLicense, engineCapacityIncc, modelName, licenseNumber, percentageOfVehicleEnergy, currentFuel, wheelsManufacturerName, wheelsCurrentAirPressure); break; } m_garage.VehiclesInGarage.Add(m_newVehicle.Motorcycle); break; default: Console.WriteLine(r_unCorrectType); break; } } else { Console.WriteLine("your car in the garage and change to modified mode needs to fix"); } Console.WriteLine("You want to insert more vehicle to the garage? say 'Yes' else 'No'"); string ansewrFromUserifMoreVehicle = Console.ReadLine(); if (ansewrFromUserifMoreVehicle.ToLower() == "yes") { pickVehicleFromUser(); } UserSelect(); }