public async Task Handle(NewTradesCheckEvent @event) { try { var lastChecked = await _bus.QueryAsync(new LastCheckedQuery(Constants.Binance)); var orderHistory = await _exchangeService.GetOrderHistory(lastChecked.LastChecked - TimeSpan.FromDays(2)); var newTradesResponse = await _bus.QueryAsync(new FindNewTradeQuery(orderHistory)); await _bus.SendAsync(new AddLastCheckedCommand(Constants.Binance)); await SendAndCheckNotifications(newTradesResponse); await SendOpenOrdersNotifications(lastChecked.LastChecked); } catch (Exception ex) { _log.LogError("Error in getting new orders from Binance\n" + ex.Message); throw; } }