Example #1
0
        private void PrintMenu()
        {
            if (Settings.ClearConsole)
            {
                Console.Clear();
            }

            Console.WriteLine(Settings.MenuHeader);
            foreach (var item in Commands)
            {
                item.Value.PrintItemMenu();
            }
            if (Settings.Help)
            {
                HelpCommand.PrintItemMenu();
            }

            ExitCommand.PrintItemMenu();

            Console.Write(Settings.MenuFooter);
            var menuId = Input.ReadInt(Commands.Values.Min(c => c.MenuID).Value, ExitCommand.MenuID.Value);

            if (Commands.Count(c => c.Value.MenuID == menuId) > 0)
            {
                SelectedCommand = Commands.First(c => c.Value.MenuID == menuId).Key;
            }
            else if (menuId == HelpCommand.MenuID)
            {
                PrintHelp();
            }
            else if (menuId == ExitCommand.MenuID)
            {
                Environment.Exit(0);
            }

            if (Commands[SelectedCommand].ValidOptions.Count > 0)
            {
                Console.WriteLine("\nPlease specify options: ");
                foreach (var opt in Commands[SelectedCommand].ValidOptions)
                {
                    Options[opt].PrintItemOption();
                    GetOptionInput(opt);
                }
            }
        }