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();
        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            bm = new BusinessModel();

            if (Session["Username"] == null || Session["Role"] == null)
            {
                Response.Redirect("404.aspx");
            }

            if (Session["Role"].ToString() == "Admin")
            {
                Response.Redirect("404.aspx");
            }
            else
            {
                pendingOrder = bm.getPendingOrder(Session["Username"].ToString());
                if (pendingOrder == null)
                {
                    lblNoPending.Text = "No items added to cart!";
                    return;
                }
                orderDetails = bm.getOrderDetails(pendingOrder.OrderID);
                if (orderDetails.Count < 1)
                {
                    lblNoPending.Text = "No items added to cart!";
                    return;
                }

                lblOrderID.Text   = pendingOrder.OrderID.ToString();
                lblUserName.Text  = pendingOrder.UserName.ToString();
                lblOrderDate.Text = pendingOrder.OrderDate.ToString();
                lblStatus.Text    = pendingOrder.Status.ToString();

                listDetails.DataSource = orderDetails;
                listDetails.DataBind();
            }
        }