protected void addToCart_Click(object sender, EventArgs e) { //check if user is logged in if (Session["Username"] == null) { Response.Redirect("login.aspx"); } //check if user is customer if (Session["Role"].ToString() != "Customer") { lblInvalid.Text = "You are not allowed to order!"; return; } //check stock if (b.Stock < 1) { lblInvalid.Text = "Insufficient stock!"; return; } //check if user has pending order Order pendingOrder = bm.getPendingOrder(Session["Username"].ToString()); if (pendingOrder == null) { pendingOrder = new Order(); pendingOrder.UserName = Session["Username"].ToString(); pendingOrder.OrderDate = DateTime.Now; pendingOrder.Status = "PENDING"; bm.addOrder(pendingOrder); } //check if item already in orderdetails under same orderid OrderDetail orderDetail = bm.getOrderDetail(pendingOrder.OrderID, b.BookID); int quantity = Convert.ToInt32(ddlQuantity.SelectedValue); if (orderDetail == null) { orderDetail = new OrderDetail(); orderDetail.OrderID = pendingOrder.OrderID; orderDetail.BookID = b.BookID; orderDetail.Quantity = quantity; bm.addOrderDetail(orderDetail); } else { orderDetail.Quantity += quantity; bm.updateOrderDetail(orderDetail); } b.Stock -= quantity; bm.updateBook(b); lblSuccessful.Text = "Added " + quantity + " books to cart!"; refreshStock(); }