...one should simply be able to retrieve a specific cart by either OrderFormId or OrderGroupId (or both?). At the moment, you need things like metadata context, user-ID, cart name etc. As these carts are retrievable like this, but this seems horribly complicated for such a menial task.
What about something nice, like an ICartRepository with methods like GetCart(int orderFormId) or GetCart(int orderGroupId). This would tremendously improve how cart handling works.
Didn't we provide OrderContext.GetPurchaseOrderById(purchaseOrderId) and OrderContext.LoadByCustomerAndOrderGroupId(customerId, orderGroupdId)? I think while it's not perfect, but it's quite enough for daily use.
In another node, ICartRepository is a good idea of making our API:s inline with each other. We might consider that in the future.
Yes, for PurchaseOrders you are absolutely right. But I needed the same for carts.
Carts should be retrievable from ICartRepository by:
Purchase orders from IOrderRepository by: