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(); } } }