In this tutorial, you will learn how to add
LineItem to the cart within Episerver Commerce 8 In the latest version of Episerver Commerce, a new API has been included called
IOrderRepository. This API will allow you do do some pretty useful things with the cart. Want to learn exactly, what you can do, read on 🔥🔥🔥
You can access
IOrderRepository using dependency injection,
Injected<T> (more information on these here). After you have access to the API you can get the cart using the
When you have access to the cart you can then add a new line item. The line items can be found within
OrderForms (as seen on Line 8). To add a line item you also need to add shipping information and the index position to add it. With this data, you can use
Adding A Line Item in Episerver Commerce 7 below
Historically, you could add line items using
OrderContext was not written to an interface, this approach made unit testing your code a pain. The code to add a line item using
OrderContext is shown below:
As you can see the process is similar. The main difference is how the cart is accessed!
There is also a helper method that can make life a bit easier when working with the cart called
CartHelper provides a set of standard features for the management of carts and orders.
CartHelper doesn't use
IOrderRepository (at time of writing).
The trade-off with
CartHelper is simplicity Vs configurability.
CartHelper gives you a simple way to add items to the cart, however, you do not have less control over how items are added. In general, I avoid this API, however, do what makes you happy 😊
You now know how to add a line item into the basket using the new
IOrderRepository. I recommend that you favour this technique as it will make unit testing your code simpler. If you can't use the latest version of Episerver Commerce then use
OrderContext instead. Happy Coding 🤘