Shopping carts
List of examples:
- Adding products to a shopping cart
- Updating the unit count of a shopping cart item
- Removing products from a shopping cart
Adding products to a shopping cart
// Gets a product to add to the shopping cart
SKUInfo product = SKUInfoProvider.GetSKUs()
.WhereEquals("SKUName", "NewProduct")
.WhereNull("SKUOptionCategoryID")
.FirstObject;
if (product != null)
{
// Gets the current shopping cart
ShoppingCartInfo cart = ECommerceContext.CurrentShoppingCart;
// Creates the shopping cart in the database if it does not exist yet
if (cart.ShoppingCartID == 0)
{
ShoppingCartInfoProvider.SetShoppingCartInfo(cart);
}
// Prepares a shopping cart item representing 1 unit of the product
ShoppingCartItemParameters parameters = new ShoppingCartItemParameters(product.SKUID, 1);
ShoppingCartItemInfo cartItem = cart.SetShoppingCartItem(parameters);
// Saves the shopping cart item to the shopping cart
ShoppingCartItemInfoProvider.SetShoppingCartItemInfo(cartItem);
// Invalidates the shopping cart's calculated values (to trigger recalculation of discounts, shipping, price totals, etc).
cart.InvalidateCalculations();
}
Updating the unit count of a shopping cart item
// Gets the product
SKUInfo product = SKUInfoProvider.GetSKUs()
.WhereEquals("SKUName", "NewProduct")
.WhereNull("SKUOptionCategoryID")
.FirstObject;
if (product != null)
{
// Prepares the shopping cart item
ShoppingCartItemInfo item = null;
// Gets the current shopping cart
ShoppingCartInfo cart = ECommerceContext.CurrentShoppingCart;
// Loops through the items in the shopping cart
foreach (ShoppingCartItemInfo cartItem in cart.CartItems)
{
// Gets the first shopping cart item matching the specified product
if (cartItem.SKUID == product.SKUID)
{
item = cartItem;
break;
}
}
if (item != null)
{
// Updates the unit count of the shopping cart item to 3
ShoppingCartItemInfoProvider.UpdateShoppingCartItemUnits(item, 3);
// Invalidates the shopping cart's calculated values (to trigger recalculation of discounts, shipping, price totals, etc).
cart.InvalidateCalculations();
}
}
Removing products from a shopping cart
// Gets the product
SKUInfo product = SKUInfoProvider.GetSKUs()
.WhereEquals("SKUName", "NewProduct")
.WhereNull("SKUOptionCategoryID")
.FirstObject;
if (product != null)
{
// Prepares the shopping cart item
ShoppingCartItemInfo item = null;
// Gets the current shopping cart
ShoppingCartInfo cart = ECommerceContext.CurrentShoppingCart;
// Loops through the items in the shopping cart
foreach (ShoppingCartItemInfo cartItem in cart.CartItems)
{
// Gets the first shopping cart item matching the specified product
if (cartItem.SKUID == product.SKUID)
{
item = cartItem;
break;
}
}
if (item != null)
{
// Removes the item from the shopping cart
ShoppingCartInfoProvider.RemoveShoppingCartItem(cart, item.CartItemID);
// Removes the item from the database
ShoppingCartItemInfoProvider.DeleteShoppingCartItemInfo(item);
// Invalidates the shopping cart's calculated values (to trigger recalculation of discounts, shipping, price totals, etc).
cart.InvalidateCalculations();
}
}