private async Task <Order> SendRequestOnShipment(Order order) { if (order.Status == OrderStatus.Processing) { try { // отправляем заявку на отгрузку товара _warehouseServiceClient.AddHeader(Constants.USERID_HEADER, order.UserId.ToString()); await _warehouseServiceClient.ShipmentAsync(new ShipmentRequestDTO { DeliveryAddress = order.DeliveryAddress, OrderNumber = order.OrderNumber.ToString(), UserId = order.UserId }); order.Status = OrderStatus.Complete; _orderContext.Orders.Update(order); await _orderContext.SaveChangesAsync(); } catch (Exception ex) { // будет некая джоба, которая допинает и отправит заказ на отгрузку, если сейчас не получилась, поэтому мы ничего делаем } } else { // просто логируем, что заказ еще не оплачен, ничего не делаем } return(order); }