public async Task Consume(ConsumeContext <CreateOrderMessageCommand> context) { var newAddress = new Domain.OrderAggregate.Address(context.Message.Province, context.Message.District, context.Message.Street, context.Message.ZipCode, context.Message.Line); Domain.OrderAggregate.Order order = new Domain.OrderAggregate.Order(context.Message.BuyerId, newAddress); context.Message.OrderItems.ForEach(x => { order.AddOrderItem(x.ProductId, x.ProductName, x.Price, x.PictureUrl); }); await _orderDbContext.Orders.AddAsync(order); await _orderDbContext.SaveChangesAsync(); }
public async Task <Response <CreatedOrderDto> > Handle(CreateOrderCommand request, CancellationToken cancellationToken) { var newAddress = new Domain.OrderAggregate.Address(request.AddressDto.Province, request.AddressDto.District, request.AddressDto.Street, request.AddressDto.ZipCode, request.AddressDto.Line); Domain.OrderAggregate.Order newOrder = new Domain.OrderAggregate.Order(request.BuyerId, newAddress); request.OrderItems.ForEach(x => { newOrder.AddOrderItem(x.ProductId, x.ProductName, x.Price, x.PictureUrl); }); await _context.Orders.AddAsync(newOrder); await _context.SaveChangesAsync(); return(Response <CreatedOrderDto> .Success(new CreatedOrderDto { OrderId = newOrder.Id }, 200)); }