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);
        }