Exemple #1
0
        /// <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());
            }
        }