private void activateForm(eMenuChoice i_MenuChoice) { Form toDisplayForm = FormFactory.GetForm(i_MenuChoice); Thread thread = new Thread(() => toDisplayForm.ShowDialog()); thread.Start(); }
public static Form GetForm(eMenuChoice i_MenuChoice) { Form toReturnForm; switch (i_MenuChoice) { case eMenuChoice.Menu: toReturnForm = new AppMenuForm(); break; case eMenuChoice.profile: toReturnForm = new MyProfileForm(); break; case eMenuChoice.friends: toReturnForm = new FriendsForm(); break; case eMenuChoice.photos: toReturnForm = new PhotosForm(); break; case eMenuChoice.oldFriends: toReturnForm = new OldFriendsForm(); break; case eMenuChoice.likeCounter: toReturnForm = new LikesCounterForm(); break; case eMenuChoice.checkIns: toReturnForm = new CheckInForm(); break; case eMenuChoice.posts: toReturnForm = new PostsForm(); break; case eMenuChoice.privacy: toReturnForm = new PrivacyForm(); break; default: throw new ArgumentException("not a valid choice"); } return(toReturnForm); }
private static eMenuChoice getChosenOption() { printGarageMenu(); string chosenOptionInput = Console.ReadLine(); while (!checkEnumValidation(typeof(eMenuChoice), chosenOptionInput)) { Console.WriteLine("Invalid option, please try again"); chosenOptionInput = Console.ReadLine(); } eMenuChoice chosenOption = (eMenuChoice)Enum.Parse(typeof(eMenuChoice), chosenOptionInput); return(chosenOption); }
internal void ManageGarage() { printWelcomeMessage(); while (true) { try { eMenuChoice chosenAction = getChosenOption(); completeNewTask(chosenAction); } catch (Exception error) { printExceptionErrors(error); System.Threading.Thread.Sleep(3000); Console.Clear(); } } }
private void completeNewTask(eMenuChoice i_ChosenTask) { bool startOverMenu = false; string licenseNumber = string.Empty; if (i_ChosenTask != eMenuChoice.AddNewVehicle && i_ChosenTask != eMenuChoice.ShowVehicles && i_ChosenTask != eMenuChoice.Exit) { licenseNumber = getLicenseNumber(); startOverMenu = !Garage.AllVehicles.ContainsKey(licenseNumber); } if (!startOverMenu) { switch (i_ChosenTask) { case eMenuChoice.AddNewVehicle: addNewVehicle(); break; case eMenuChoice.ShowVehicles: showVehiclesLicenseNumber(); break; case eMenuChoice.UpdateRepairingStatus: updateVehicleRepairingStatus(licenseNumber); break; case eMenuChoice.PumpAirPressure: pumpAirPressureToMax(licenseNumber); break; case eMenuChoice.FillFuelTank: if (Garage.AllVehicles[licenseNumber].Vehicle.Engine is FuelEngine chosenFuelEngine) { fillFuelTank(licenseNumber, chosenFuelEngine); } else { Console.WriteLine("This vehicle is not powered by a fuel engine."); } break; case eMenuChoice.ChargeElectricEngine: if (Garage.AllVehicles[licenseNumber].Vehicle.Engine is ElectricEngine chosenElectricEngine) { chargeElectricEngine(licenseNumber, chosenElectricEngine); } else { Console.WriteLine("This vehicle is not powered by an electric engine."); } break; case eMenuChoice.ShowSpecificVehicleDetails: showVehicleData(licenseNumber); break; case eMenuChoice.Exit: exitGarage(); break; } } else { Console.WriteLine("The license number you entered was not found"); } }