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 = "..."; } }