Пример #1
0
        protected void btnAddToCart_Click(object sender, EventArgs e)
        {
            //make sure that there are enough units in stock
            if (vldQuantity.IsValid) //<stretch>Should also have server side validation in case of multiple users/connections</stretch>
            {
                NorwinDBTableAdapters.CartTableAdapter     cart     = new NorwinDBTableAdapters.CartTableAdapter();
                NorwinDBTableAdapters.ProductsTableAdapter products = new NorwinDBTableAdapters.ProductsTableAdapter();

                //get input
                int numberToOrder = int.Parse(cbxQuantity.SelectedValue);

                float unitPrice = (float)products.GetUnitPriceByProdID(Convert.ToInt32(Request.QueryString[0]));

                float subTotal = (float)numberToOrder * unitPrice;

                //add the selected quantity of the item to the cart table in the DB
                cart.InsertCartItem(prodName, numberToOrder, prodID, custID, Session.SessionID, unitPrice, subTotal);
                products.UpdateInStock((short)(unitsInStock - numberToOrder), prodID);

                lsvProdDetails.DataSource = products.GetDataByProdID(Convert.ToInt32(Request.QueryString[0]));
                lsvProdDetails.DataBind();

                lblItemAdded.Text = numberToOrder + " items added to order.";
            }
            else
            {
                lblItemAdded.Text = "...";
            }
        }
Пример #2
0
        protected void btnAddToOrder_Click(object sender, EventArgs e)
        {
            int qty;

            //check the stock for the selected item, print out the stock level and set the validator's max value if it is below requested
            if (int.TryParse(cbxQuantity.SelectedValue, out qty) && qty >= 1)
            {
                int unitsInStock = Convert.ToInt32(products.GetInStockByProdID(Convert.ToInt32(cbxItemName.SelectedValue)));

                if (unitsInStock < Convert.ToInt32(cbxQuantity.SelectedValue))
                {
                    if (unitsInStock > 0)
                    {
                        //tell the user
                        lblMessage.CssClass = "validator-message";
                        lblMessage.Text     = "Item only has " + unitsInStock + " units in stock";
                    }
                    else
                    {
                        //tell the user
                        lblMessage.CssClass = "validator-message";
                        lblMessage.Text     = "Item out of Stock.";
                    }
                }
                else
                {
                    //Add the requested number of items to the cart under the selected client's name
                    if (cbxCustomer.SelectedValue != "")
                    {
                        //get input
                        int numberToOrder = int.Parse(cbxQuantity.SelectedValue);

                        float unitPrice = (float)products.GetUnitPriceByProdID(Convert.ToInt32(cbxItemName.SelectedValue));

                        float subTotal = (float)numberToOrder * unitPrice;

                        string prodName = cbxItemName.SelectedItem.ToString();

                        int prodID = Convert.ToInt32(cbxItemName.SelectedValue);

                        custID = cbxCustomer.SelectedValue;

                        //add the selected quantity of the item to the cart table in the DB
                        cart.InsertCartItem(prodName, numberToOrder, prodID, custID, Session.SessionID, unitPrice, subTotal);
                        products.UpdateInStock((short)(unitsInStock - numberToOrder), prodID);

                        lblMessage.CssClass = "confirmation-message";
                        lblMessage.Text     = numberToOrder + " items added to order.";

                        lsvCart.DataSource = cart.GetDataByCustID(custID);
                        lsvCart.DataBind();
                    }
                    else
                    {
                        lblMessage.CssClass = "validator-message";
                        lblMessage.Text     = "Please select a client";
                    }
                }
            }
            else
            {
                lblMessage.Text     = "Please select a quantity between 1 and max in stock";
                lblMessage.CssClass = "validator-message";
            }
        }