private static void DetectMenuAction() { bool inValidAction = false; do { Console.Write("Keuze: "); int.TryParse(Console.ReadLine(), out int keuze); Console.WriteLine("\n"); switch (keuze) { case 1: ExtensionMethods.WriteTestRecords(ItemMgr.GetRecords()); break; case 2: SelectedProfile = ExtensionMethods.SelectProfile(AccountMgr.GetProfiles()); break; case 3: SelectedSubplatform = ExtensionMethods.SelectSubplatform(SubplatformMgr.GetSubplatforms()); break; case 4: if (SelectedProfile == null) { throw new Exception( "U heeft nog geen account geselecteerd, gelieve er eerst een te kiezen"); } AccountMgr.AddSubscription(SelectedProfile, ExtensionMethods.SelectItem(ItemMgr.GetPersons())); break; case 5: if (SelectedProfile == null) { throw new Exception( "U heeft nog geen account geselecteerd, gelieve er eerst een te kiezen"); } AccountMgr.RemoveSubscription(SelectedProfile, ExtensionMethods.SelectItem(SelectedProfile.Subscriptions)); break; case 6: //AccountMgr.SendWeeklyReviews(); break; case 7: if (SelectedSubplatform == null) { throw new Exception( "U heeft nog geen subplatform geselecteerd, gelieve er eerst een te kiezen"); } int days = int.Parse(SelectedSubplatform.Settings .FirstOrDefault(se => se.SettingName.Equals(Setting.Platform.DAYS_TO_KEEP_RECORDS)).Value); ItemMgr.CleanupOldRecords(SelectedSubplatform); break; case 8: Seed(); break; case 9: List <Item> itemsToUpdate = new List <Item>(); AccountMgr.GenerateAllAlerts(SelectedProfile.Subscriptions); break; case 10: ExtensionMethods.ShowRecords(ItemMgr.GetRecords()); break; case 11: ExtensionMethods.ShowPersons(ItemMgr.GetPersons()); break; case 12: ExtensionMethods.ShowSubScribedItems(SelectedProfile); break; case 99: ShowHelp(); break; case 0: Stop = true; return; default: Console.WriteLine("Geen geldige keuze!"); inValidAction = true; break; } } while (inValidAction); }