/// <summary> /// Updates the cart according to item quantities. /// Updated to take into account product specials. /// </summary> /// <returns></returns> public List <CartItem> UpdateCartItems() { using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions()) { String cartId = usersShoppingCart.GetCartId(); ShoppingCartActions.ShoppingCartUpdates[] cartUpdates = new ShoppingCartActions.ShoppingCartUpdates[CartList.Rows.Count]; for (int i = 0; i < CartList.Rows.Count; i++) { IOrderedDictionary rowValues = new OrderedDictionary(); rowValues = GetValues(CartList.Rows[i]); cartUpdates[i].ProductId = Convert.ToInt32(rowValues["ProductID"]); CheckBox cbRemove = new CheckBox(); cbRemove = (CheckBox)CartList.Rows[i].FindControl("Remove"); cartUpdates[i].RemoveItem = cbRemove.Checked; TextBox quantityTextBox = new TextBox(); quantityTextBox = (TextBox)CartList.Rows[i].FindControl("PurchaseQuantity"); cartUpdates[i].PurchaseQuantity = Convert.ToInt16(quantityTextBox.Text.ToString()); } usersShoppingCart.UpdateShoppingCartDatabase(cartId, cartUpdates); CartList.DataBind(); lblTotal.Text = String.Format(new System.Globalization.CultureInfo("en-ZA"), "{0:C}", usersShoppingCart.GetTotal()); lblSavings.Text = String.Format(new System.Globalization.CultureInfo("en-ZA"), "{0:c}", usersShoppingCart.GetSavings()); lblTotalWithDiscount.Text = String.Format(new System.Globalization.CultureInfo("en-ZA"), "{0:c}", usersShoppingCart.GetTotalWithDiscount()); return(usersShoppingCart.GetCartItems()); } }