public async Task CreateAsync(CreatePurchaseOrderCommand command) { try { var purchaseOrder = new Data.Entities.PurchaseOrder { Items = command .Products .Select( x => new Data.Entities.PurchaseOrderItem { ProductId = x.ProductId, Price = x.Price, Quantity = x.Quantity }) .ToList(), Reference = command.OrderReference }; var purchaseOrderId = await _purchaseOrderRepository.AddPurchaseAsync(purchaseOrder); var view = await _purchaseOrderView.GetAsync(purchaseOrderId); Clients .All .OrderCreatedEvent( new OrderCreatedEvent { CorrelationId = command.CorrelationId, CreatedAt = view.CreatedAt, Id = view.Id, Items = view .Items .Select( x => new OrderCreatedEvent.PurchaseOrderItem { Id = x.Id, Description = x.Description, Price = x.Price, ProductId = x.ProductId, Quantity = x.Quantity }) .ToList(), OrderReference = view.OrderReference }); } catch (System.Exception ex) { throw; } }
public async Task CreateAsync(CreatePurchaseOrderCommand command) { await _proxy.Value.Invoke(nameof(CreateAsync), command); }