Esempio n. 1
0
        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;
            }

        }
Esempio n. 2
0
 public async Task CreateAsync(CreatePurchaseOrderCommand command)
 {
     await _proxy.Value.Invoke(nameof(CreateAsync), command);
 }