public SaleWorker( IApiClient apiClient, IExchangeTrend exchangeTrend, ILogger <SaleWorker> logger) { _apiClient = apiClient; _exchangeTrend = exchangeTrend; _logger = logger; }
public ExchangeWorker( IExchangeTrend exchangeTrend, ILogger <ExchangeWorker> logger) { try { _exchangeTrend = exchangeTrend; _logger = logger; _hubConnection = new HubConnectionBuilder() .WithUrl(_signalrUrl) .Build(); _hubConnection.Closed += async(error) => { await Task.Delay(new Random().Next(0, 5) * 1000); await _hubConnection.StartAsync(); }; _hubConnection.On <Guid, String, Double>("CurrencyUpdate", (id, name, value) => { try { _exchangeTrend.AddCurrencyDetail(new CurrencyDetail { Id = id, Name = name, Value = (Decimal)value }); _logger.LogInformation($"CurrencyUpdate: {name} [{value:F2}]"); } catch (Exception ex) { _logger.LogError(ex.Message); } }); } catch (Exception ex) { _logger.LogError(ex.Message); } }