예제 #1
0
파일: UserMenu.cs 프로젝트: linshitrit/Menu
        public void Run(IMenu <T> menu)
        {
            // display options
            Writer.WriteLine("welcome to our menu:");
            while (true)
            {
                Displayer.DisplayNenu(menu);
                // read option and validate
                int input = DataReader.Read(menu);
                if (input != -1)
                {
                    // run option action
                    var  option   = menu.Options.First(item => item.Key.Equals(input)).Value;
                    bool?exitMenu = option.Run()?.ExitMenu;

                    if (exitMenu != null && exitMenu == true)
                    {
                        break;
                    }


                    Writer.WriteLine("---------------------------------");
                }
                else
                {
                    Writer.WriteLine("the input is not valid");
                }
            }
        }