public async Task HandleAsync(ProductAdded @event) { var product = await productRepository.GetByIdAsync(@event.ProductId.IdAsString()); var cart = await orderRepository.GetByIdAsync(@event.AggregateId.IdAsString()); var cartItem = OrderItemReadModel.CreateFor(@event.AggregateId.IdAsString(), @event.ProductId.IdAsString()); cartItem.ProductName = product.Name; cartItem.Quantity = @event.Quantity; cart.TotalItems += @event.Quantity; await orderRepository.UpdateAsync(cart); await orderItemRepository.InsertAsync(cartItem); }