Beispiel #1
0
        public async Task Run(string[] args)
        {
            try
            {
                OnStart();

                applicationHeader?.Display();

                Arguments arguments = new(args);

                if (UseSpinner)
                {
                    await Spinner.Run(async() => await ProcessRequest(arguments));
                }
                else
                {
                    await ProcessRequest(arguments);
                }
            }
            catch (Exception ex)
            {
                OnError(ex);
            }
            finally
            {
                OnExit();
                applicationFooter?.Display();
            }
        }
        public void Run(string[] args)
        {
            try
            {
                OnStart();

                applicationHeader?.Display();

                Arguments arguments = new Arguments(args);

                ICommand command = commands.SelectCommand(arguments.Command);

                if (UseSpinner)
                {
                    Spinner.Run(() => command.Execute(arguments));
                }
                else
                {
                    command.Execute(arguments);
                }
            }
            catch (Exception ex)
            {
                OnError(ex);
            }
            finally
            {
                OnExit();
                applicationFooter?.Display();
            }
        }
        public void Run(string[] args)
        {
            try
            {
                OnStart();

                if (ShowHeader)
                {
                    applicationHeader?.Display();
                }

                Arguments arguments = new Arguments(args);
                IUseCase  useCase   = useCases.SelectCommand(arguments.Command);

                if (UseSpinner)
                {
                    Spinner.Run(() => useCase.Execute(arguments));
                }
                else
                {
                    useCase.Execute(arguments);
                }
            }
            catch (Exception ex)
            {
                OnError(ex);
            }
            finally
            {
                OnExit();

                if (ShowFooter)
                {
                    applicationFooter?.Display();
                }

                if (PauseOnExit)
                {
                    Pause.QuickDisplay();
                }
            }
        }