public async Task <bool> Handle(CreateOrderCommand message, CancellationToken cancellationToken) { var address = new Address(message.Street, message.City, message.State, message.Country, message.ZipCode); var order = new Aggregates.OrderAggregate.Order(message.UserId, message.UserName, address); foreach (var item in message.OrderItems) { order.AddOrderItem(item.ProductId, item.ProductName, item.Discount, item.UnitPrice); } await _orderRepository.InsertAsync(order, cancellationToken); return(await _orderRepository.UnitOfWork .SaveEntitiesAsync(cancellationToken)); }
public OrderStartedDomainEvent(Aggregates.OrderAggregate.Order order, string userId, string userName) { Order = order; UserId = userId; UserName = userName; }