internal async Task Render(string[] args) { SetupUserArguments(args); IMenu currentMenu = new StudentsMenu(_fileNameArg, _searchArguments); IMenuOperation menuOption; Console.WriteLine(); Console.WriteLine("================================== Student Manager (SM) 1.0 ======================================="); do { Console.Clear(); if (currentMenu.AutomaticRunOperation != null) { menuOption = currentMenu.AutomaticRunOperation; } else { currentMenu.Display(); menuOption = currentMenu.ProcessInput(); } if (menuOption != null) { await menuOption.ExecuteOption(); menuOption.AutomaticRun = false; } } while (!(menuOption is Exit)); }
public static ICollectionMenu DetermineCollection(object collection) { if (collection is StudentsCollections) { studentsMenu = new StudentsMenu(); return((ICollectionMenu)studentsMenu); } else if (collection is TeachersCollections) { teachersMenu = new TeachersMenu(); return((ICollectionMenu)teachersMenu); } else if (collection is FacultiesCollection) { facultiesMenu = new FacultiesMenu(); return((ICollectionMenu)facultiesMenu); } else { throw new Exception("No such menu!"); } }