public async Task OnCreate() { if (IsValid()) { var dr = _mbs.ShowQuestion($"Do you really want to create {View.NumberOfBotsToCreate} Bots now?"); if (dr == DialogResult.Yes) { View.SetCreateInProgress(true); IExchange exchange = null; if (View.IsBinanceSelected) { exchange = new ExchangeLayer.Implementations.Binance(_keys); } else if (View.IsHuobiSelected) { exchange = new ExchangeLayer.Implementations.Huobi(_keys); } var botMgr = new BotManager(_logger, new XCommasClient(_keys, View.UsePaperTrading), exchange); try { _cancellationTokenSource = new CancellationTokenSource(); var cancellationToken = _cancellationTokenSource.Token; await botMgr.CreateBots(View.NumberOfBotsToCreate, View.Enable, _settings, cancellationToken); View.SetCreateInProgress(false); _mbs.ShowInformation("Operation finished! See output section for details."); } catch (Exception exception) { _logger.LogError(exception.Message); _mbs.ShowError("Error: " + exception); } finally { View.SetCreateInProgress(false); } } } }
public async Task OnPreview() { if (IsValid()) { View.SetCreateInProgress(true); _logger.LogInformation("PREVIEW BEGIN"); IExchange exchange = null; if (View.IsBinanceSelected) { exchange = new ExchangeLayer.Implementations.Binance(_keys); } else if (View.IsHuobiSelected) { exchange = new ExchangeLayer.Implementations.Huobi(_keys); } var botMgr = new BotManager(_logger, new XCommasClient(_keys, View.UsePaperTrading), exchange); try { _cancellationTokenSource = new CancellationTokenSource(); var cancellationToken = _cancellationTokenSource.Token; await botMgr.PreviewBotsCreation(View.NumberOfBotsToCreate, _settings, cancellationToken); View.SetCreateInProgress(false); _mbs.ShowInformation("Operation finished! See output section for details."); } catch (Exception exception) { _logger.LogError(exception.Message); _mbs.ShowError("Error: " + exception); } finally { View.SetCreateInProgress(false); } _logger.LogInformation("PREVIEW END"); } }