public async Task HandleAsync(ProductQuantityChanged @event) { var cartItemId = OrderItemReadModel.IdFor(@event.AggregateId.IdAsString(), @event.ProductId.IdAsString()); var cartItem = (await orderItemRepository .FindAllAsync(x => x.Id == cartItemId)) .Single(); var cart = await orderRepository.GetByIdAsync(@event.AggregateId.IdAsString()); cart.TotalItems += @event.NewQuantity - @event.OldQuantity; cartItem.Quantity = @event.NewQuantity; await orderRepository.UpdateAsync(cart); await orderItemRepository.UpdateAsync(cartItem); }