internal static void AddVehicleToTheGarage(eVehicleTypes i_VeicleToTheGarage) { bool isValid = false; string ownerName; string ownerPhoneNumber; GarageUI.GetVehicleOwnerDetails(out ownerName, out ownerPhoneNumber); Vehicle currentVehicleToAdd = VehicleCreation.CreateVehicle(i_VeicleToTheGarage); Dictionary <string, string> vehicleDetails = currentVehicleToAdd.CreateVehicleDetailsDict(); vehicleDetails = currentVehicleToAdd.EngineOfVehicle.AddEngineDetailsToDict(vehicleDetails); while (!isValid) { vehicleDetails = GarageUI.GetVehicleDetailsFromUser(vehicleDetails, currentVehicleToAdd); try { currentVehicleToAdd.AddVehicleInformation(vehicleDetails); currentVehicleToAdd.EngineOfVehicle.AddEngineInformation(vehicleDetails); isValid = true; } catch (Exception exception) { Console.WriteLine(exception.Message); } } VehicleInGarage newVehicleIntheGarage = new VehicleInGarage(currentVehicleToAdd, ownerName, ownerPhoneNumber); ListVehiclesInGarage.Add(currentVehicleToAdd.LicenseNumber, newVehicleIntheGarage); }