예제 #1
0
        protected override Task HandleMessage(OrderExecutionOrderBookContract orderBookMessage)
        {
            var orderBook = orderBookMessage.ToDomain();

            return(Task.Run(async() =>
            {
                try
                {
                    await _executionOrderBookRepository.AddAsync(orderBook);
                }
                catch (Exception ex)
                {
                    await _log.WriteErrorAsync(nameof(ExecutionOrderBookBroker), nameof(HandleMessage),
                                               orderBook.ToJson(), ex);
                }
            }));
        }
        protected override Task HandleMessage(OrderExecutionOrderBookContract orderBookMessage)
        {
            var orderBook = orderBookMessage.ToDomain();

            return(Task.Run(async() =>
            {
                try
                {
                    await _retryPolicy.ExecuteAsync((context) => _executionOrderBookRepository.AddAsync(orderBook),
                                                    new Context()
                    {
                        { "id", orderBookMessage.OrderId },
                        { "externalOrderId", orderBookMessage.ExternalOrderId }
                    });
                }
                catch (Exception ex)
                {
                    await _log.WriteErrorAsync(nameof(ExecutionOrderBookBroker), nameof(HandleMessage),
                                               orderBook.ToJson(), ex);
                }
            }));
        }