public void UserSelect() { Console.WriteLine("1. to put a car in the garage press 1\n"); Console.WriteLine("2. to display the license number press 2\n"); Console.WriteLine("3. to change the vehicle mode in the garage press 3\n"); Console.WriteLine("4. To inflate tire air pressure to maximum press 4\n"); Console.WriteLine("5. To fuel a vehicle driven by fuel press 5\n"); Console.WriteLine("6. To recharge an electric vehicle press 6\n"); Console.WriteLine("7. To view full data on a vehicle in the garage press 7\n"); Console.WriteLine("8. To exit press 8\n"); float fuelToFill = 0; bool checkInputFromTheUser; string userChoice = Console.ReadLine(); try { switch (userChoice) { case "1": pickVehicleFromUser(); break; case "2": displayVehicleNumbers(); break; case "3": pickDetailsAndSendItToChangeVehicleModeInGarage(); break; case "4": bool actionSecceeded = true; Console.WriteLine(r_insertLicenseNumber); string licenseNumber = Console.ReadLine(); actionSecceeded = m_garage.FillAirWheelsToMaximum(licenseNumber); if (!actionSecceeded) { throw new ArgumentException("Could not find license number"); } else { Console.WriteLine("The wheels were successfully filled"); } UserSelect(); break; case "5": Console.WriteLine(r_insertLicenseNumber); licenseNumber = Console.ReadLine(); Console.WriteLine("please insert a fuel type, octan95, octan96, octan98 or soler"); string fuelType = Console.ReadLine(); GarageLogic.FuelVehicle.eFueltType eFuelt = initFuelType(fuelType); Console.WriteLine("please insert how match fuel to fill"); checkInputFromTheUser = false; cheackTryParseFloat(checkInputFromTheUser, ref fuelToFill); m_garage.FindVehicleAndSendItToGasStation(licenseNumber, eFuelt, fuelToFill); UserSelect(); break; case "6": int rechargeTimeInMinutes; bool inputUser; checkInputFromTheUser = false; Console.WriteLine(r_insertLicenseNumber); licenseNumber = Console.ReadLine(); Console.WriteLine("please Enter how much time you want to recharge your vehicle in minutes"); inputUser = int.TryParse(Console.ReadLine(), out rechargeTimeInMinutes); cheackFormatException(inputUser); m_garage.SendToChargeElectricVehicle(licenseNumber, rechargeTimeInMinutes); UserSelect(); break; case "7": Console.WriteLine(r_insertLicenseNumber); licenseNumber = Console.ReadLine(); string resultToUser = "******"; resultToUser = m_garage.FindVehicleDetails(licenseNumber); Console.WriteLine(resultToUser); UserSelect(); break; case "8": Environment.Exit(0); break; default: Console.WriteLine("Your selection is not possible try again"); UserSelect(); break; } } catch (FormatException fex) { Console.WriteLine("The input you entered is invalid, {0}", fex.Message); } catch (ArgumentException ax) { Console.WriteLine("{0}", ax.Message); } catch (GarageLogic.ValueOutOfRangeException outOfRange) { Console.WriteLine("{0} the min is: {1} and the max is:{2}", outOfRange.Message, outOfRange.MinValue, outOfRange.MaxValue); } catch (Exception ex) { Console.WriteLine("{0}", ex.Message); } UserSelect(); }