private async Task RegisterTradesAsync(string marketOrderId) { IReadOnlyList <ExternalLimitOrder> externalLimitOrders = await _externalLimitOrderService.GetByParentIdAsync(marketOrderId); IEnumerable <ExternalLimitOrder> activeExternalLimitOrders = externalLimitOrders.Where(o => o.Status == ExternalLimitOrderStatus.Active); foreach (ExternalLimitOrder externalLimitOrder in activeExternalLimitOrders) { try { if (await _exchangeService.CancelLimitOrderAsync(externalLimitOrder)) { await _externalLimitOrderService.UpdateAsync(externalLimitOrder); } else { _log.WarningWithDetails("External limit order not cancelled", externalLimitOrder); } } catch (Exception exception) { _log.ErrorWithDetails(exception, "An error occurred while processing external limit order", externalLimitOrder); } } }