Пример #1
0
 internal static void ShowConsoleMainMenu(ICodeSearcherManager manager, ITextBasedUserInterface tui, IMenuNavigator nav)
 {
     do
     {
         tui.Clear();
         tui.WriteLine("[1] Create New Index");
         tui.WriteLine("[2] Show all Indexes");
         tui.WriteLine("[3] Exit");
         tui.WriteLine("Please choose: ");
         var answer = tui.ReadLine();
         if (int.TryParse(answer, out int selection))
         {
             if (1.Equals(selection)) //Create New Index
             {
                 nav.GoToCreateNewIndexMenu(manager, tui);
             }
             else if (2.Equals(selection)) //Show All Indexes
             {
                 nav.GoToShowAllIndexesMenu(manager, tui);
             }
             else if (3.Equals(selection)) //Exit
             {
                 nav.ExitMenu();
             }
         }
     } while (nav.MenuLoopActive());
 }
Пример #2
0
        internal static void ShowAllIndexesMenu(ICodeSearcherManager manager, ITextBasedUserInterface tui, IMenuNavigator nav)
        {
            string answer;

            do
            {
                tui.Clear();
                var indexes = manager.GetAllIndexes().ToList();
                int count   = 0;
                foreach (var index in indexes)
                {
                    tui.WriteLine($"[{++count}] - ID {index.ID} - SourcePath {index.SourcePath}");
                }

                if (indexes.Count == 0)
                {
                    tui.WriteLine("There are currently no folders indexed!");
                }

                tui.WriteLine($"[{++count}] Return to main menu");
                tui.WriteLine("Please choose: ");
                answer = tui.ReadLine();
                if (int.TryParse(answer, out int selection))
                {
                    if (indexes.Count > 0 && selection < count)
                    {
                        var selectedIndex = indexes[selection - 1];
                        nav.GoToSelectedIndexMenu(manager, selectedIndex, tui);
                    }
                    else
                    {
                        nav.GoToMainMenu(tui);
                    }
                }
            } while (tui.ShouldLoop());
        }