Exemple #1
0
        private void Execute(ConsoleMenuItem menuItem)
        {
            if (!menuItem.CanExecute())
            {
                RefreshMenuItem(menuItem, true, true);
                return;
            }

            var consoleWasCleared = ClearOnExecution;

            if (consoleWasCleared)
            {
                Console.Clear();
            }

            try
            {
                menuItem.Execute();

                if (consoleWasCleared)
                {
                    RefreshMenu();
                }
            }
            catch (Exception ex)
            {
                var handler = ExecutionError;
                if (handler == null)
                {
                    throw;
                }

                var args = new ExceptionEventArgs(ex);
                handler(this, args);
                if (!args.Handled)
                {
                    throw;
                }
            }
        }
Exemple #2
0
 private bool CanExecute(ConsoleMenuItem menuItem)
 {
     return(menuItem.CanExecute());
 }