private static async Task RunUserLoop(ILogger logger, IProjectSettings projectSettings, IStocksDataApi api) { logger.LogInfo($"Hello in {projectSettings.ProjectName}. Type \"h\" for help, \"q\" to exit."); string userInput; while (!(userInput = GetNonEmptyStringFromUser()).Equals("q", StringComparison.OrdinalIgnoreCase)) { await RunNonInteractive(userInput, logger, projectSettings, api); } }
private static async Task RunNonInteractive(string runArguments, ILogger logger, IProjectSettings projectSettings, IStocksDataApi api) { try { var splitted = runArguments.Split(' '); await api.Execute(splitted); } catch (Exception e) { logger.LogError(e); } }