Esempio n. 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        lblItemsInCart.Text = "0";

        if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
        {

            // get the customerID of the user who is logged on
            // update customer information
            Customer customerIDID = new Customer();
            customerIDID.Username = Membership.GetUser().UserName;

            //Instantiate our Category specific DataAccess Class
            CustomerDA customerDA = new CustomerDA();

            Collection<Customer> getCustomerID = customerDA.Get(customerIDID);

            // returns one item
            // customerID = ds5.Tables[0].Rows[0].ItemArray[0];
            // if statement added by Ethan, will set customerID = 0 if no rows returned.
            if (getCustomerID.Count > 0)
            {
                customerID = getCustomerID[0].Id; ;
            }
            else
            {
                customerID = 0;
            }

            //clear
            customerIDID = null;
            customerDA = null;
            getCustomerID = null;

            // count how many orders exists from the user that is logged on
            Order oID = new Order();
            oID.CustomerId = int.Parse(customerID.ToString());
            oID.TxnId = "";
            OrderDA orderIDDA = new OrderDA();

            Collection<Order> getOrderID = orderIDDA.Get(oID);

            orderCount = getOrderID.Count;

            // clear
            oID = null;
            orderIDDA = null;
            getOrderID = null;

            if (int.Parse(orderCount.ToString()) == 0)
            {
                // display answer on label
                lblItemsInCart.Text = "0";
            }
            else
            {

                // get the orderID of the order that has a txnid = "" of the customer
                Order orderIDID = new Order();
                orderIDID.CustomerId = int.Parse(customerID.ToString());
                orderIDID.TxnId = "";
                OrderDA orderDA = new OrderDA();

                Collection<Order> getOrderIDID = orderDA.Get(orderIDID);

                orderID = getOrderIDID[0].Id;

                // clear
                oID = null;
                orderIDDA = null;
                getOrderID = null;

                //count how many items are in the shopping cart for the user
                //and display them
                //instantiate class
                OrderItem orderItemCount = new OrderItem();
                orderItemCount.OrderId = int.Parse(orderID.ToString());

                OrderItemDA orderItemCountDA = new OrderItemDA();

                Collection<OrderItem> getOrderItemCount = orderItemCountDA.Get(orderItemCount);

                items = getOrderItemCount.Count;

                // clear
                orderItemCount = null;
                orderItemCountDA = null;
                getOrderItemCount = null;

                // display answer on label
                lblItemsInCart.Text = items.ToString();
            }

        }
        else
        {
            // if the customer is not logged on but has an item in there cart
            if (Session["AnonymousUserName"] != null)
            {

                // get the customerID
                Customer customerIDID = new Customer();
                customerIDID.Username = Session["AnonymousUserName"].ToString();

                //Instantiate our Category specific DataAccess Class
                CustomerDA customerDA = new CustomerDA();

                Collection<Customer> getCustomerID = customerDA.Get(customerIDID);

                customerID = getCustomerID[0].Id.ToString();

                //clear
                customerIDID = null;
                customerDA = null;
                getCustomerID = null;

                // get the current orderID if any if not make shopping cart items 0
                // count how many orders exists from the user that is logged on
                Order oID = new Order();
                oID.CustomerId = int.Parse(customerID.ToString());
                oID.TxnId = "";
                OrderDA orderIDDA = new OrderDA();

                Collection<Order> getOrderID = orderIDDA.Get(oID);

                orderCount = getOrderID.Count;

                // clear
                oID = null;
                orderIDDA = null;
                getOrderID = null;

                if (int.Parse(orderCount.ToString()) == 0)
                {
                    // display answer on label
                    lblItemsInCart.Text = "0";
                }
                else
                {

                    // get the customerID
                    // get the customerID
                    Customer customerIDID2 = new Customer();
                    customerIDID2.Username = Session["AnonymousUserName"].ToString();

                    //Instantiate our Category specific DataAccess Class
                    CustomerDA customerDA2 = new CustomerDA();

                    Collection<Customer> getCustomerID2 = customerDA2.Get(customerIDID2);

                    customerID = getCustomerID2[0].Id;

                    //clear
                    customerIDID2 = null;
                    customerDA2 = null;
                    getCustomerID2 = null;

                    // get the orderID of the order with the txnid = "" for the anonyomous user
                    Order oID2 = new Order();
                    oID2.CustomerId = int.Parse(customerID.ToString());
                    oID2.TxnId = "";
                    OrderDA orderIDDA2 = new OrderDA();

                    Collection<Order> getOrderID2 = orderIDDA2.Get(oID2);

                    orderID = getOrderID2[0].Id;

                    // clear
                    oID2 = null;
                    orderIDDA2 = null;
                    getOrderID2 = null;

                    //count how many items are in the shopping cart for the anonymous user
                    //and display them
                    //instantiate class
                    OrderItem orderItemCount = new OrderItem();
                    orderItemCount.OrderId = int.Parse(orderID.ToString());

                    OrderItemDA orderItemCountDA = new OrderItemDA();

                    Collection<OrderItem> getOrderItemCount = orderItemCountDA.Get(orderItemCount);

                    items = getOrderItemCount.Count;

                    // clear
                    orderItemCount = null;
                    orderItemCountDA = null;
                    getOrderItemCount = null;

                    // display answer on label
                    lblItemsInCart.Text = items.ToString();
                }
            }

        }
    }
Esempio n. 2
0
    // on logged in
    protected void LoggedIn(object sender, EventArgs e)
    {
        // seeing if there is an order just in case I missed something
        if (Session["AnonymousUserName"] != null)
        {
            // if the user has an order on going delete it and replace it
            // with the items that the anonymous user just made(which is really a customer)
            //Instantiate our Category specific DataAccess Class
            CustomerDA customerDA = new CustomerDA();

            // check to see if user has items in their cart
            //Create an Object that specifies what we want to Get
            Customer customer = new Customer();

            //gets customer info based on customer username

            customer.Username = UserLogin.UserName;

            //We will be returned a collection so lets Declare that and fill it using Get()
            Collection<Customer> getCustomer = customerDA.Get(customer);

            // count orders with customerid = @customerid and txtnid = @txnid
            // instantiate class
            Order orders = new Order();
            orders.CustomerId = getCustomer[0].Id;
            orders.TxnId = "";

            OrderDA orderDA = new OrderDA();
            Collection<Order> getOrders = orderDA.Get(orders);

            // returns number of orders
            object getOrder = getOrders.Count;

            //clear
            orders = null;
            orderDA = null;
            getOrders = null;

            // if the user who is logged has items in his cart as an anonymous user
            // delete the items he had previously on his cart and add the new items and order
            // that they just put into his cart
            if (int.Parse(getOrder.ToString()) > 0)
            {

                // get the orderID of the customer that he had on going order
                // instantiate class
                Order oID = new Order();
                oID.CustomerId = getCustomer[0].Id;
                oID.TxnId = "";

                OrderDA ordersDA = new OrderDA();
                Collection<Order> getOID = ordersDA.Get(oID);

                // returns one item
                object getOrderID = getOID[0].Id;

                //clear
                oID = null;
                ordersDA = null;
                getOID = null;

                // delete the order and items that involve the order above
                // delete items from the orderItem table associated with that order if any

                //Create an Object that specifies what we want to Get
                // OrderItem deleteOrderItem = new OrderItem();

                //OrderItemDA deleteOrderItemDA = new OrderItemDA();

                ////gets orderItem info based on customerID

                //deleteOrderItem.OrderId = int.Parse(getOrderID.ToString());

                //// deletes the orderItems with that customerID
                //deleteOrderItemDA.Delete(deleteOrderItem);

                //// clear
                //deleteOrderItemDA = null;
                //deleteOrderItem = null;
                DAL.DataAccess da5 =
                                            new DAL.DataAccess(
                                                ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                                                "System.Data.SqlClient");

                string comm5 =
                    "Delete FROM OrderItem WHERE OrderID = @orderID";

                // array with orderID
                string[] p5 = { "@orderID" };
                string[] v5 = { getOrderID.ToString() };

                da5.ExecuteNonQuery(comm5, p5, v5);

                // clear
                p5 = null;
                v5 = null;

                // delete order
                //Instantiate our Order specific DataAccess Class
                OrderDA deleteOrderDA = new OrderDA();

                //Create an Object that specifies what we want to Get
                Order deleteOrder = new Order();

                //gets order info based on customerID

                deleteOrder.Id = int.Parse(getOrderID.ToString());

                // deletes the order with that customerID
                deleteOrderDA.Delete(deleteOrder);

                // clear
                deleteOrderDA = null;
                deleteOrder = null;

                // get cusotmerID of anonymous user
                //Instantiate our Category specific DataAccess Class
                CustomerDA customerDA2 = new CustomerDA();

                // check to see if user has items in their cart
                //Create an Object that specifies what we want to Get
                Customer customer2 = new Customer();

                //gets customer info based on customer username

                customer2.Username = Session["AnonymousUserName"].ToString();

                //We will be returned a collection so lets Declare that and fill it using Get()
                Collection<Customer> getCustomer2 = customerDA2.Get(customer2);

                //for (int i = 0; i < getCustomer2.Count; i++)
                //{
                //    getCustomer2[i].Id;
                //}

                // get orderID of anonymous user
                //Create an Object that specifies what we want to Get
                Order ordersID = new Order();

                //gets order info based on customerID
                ordersID.CustomerId = getCustomer2[0].Id;

                OrderDA ordersIDDA = new OrderDA();

                // deletes the order with that customerID
                Collection<Order> getOrder2 = ordersIDDA.Get(ordersID);

                // update the customerid of the anonymous order to the customer, of the user who just logged on
                DAL.DataAccess da4 =
                    new DAL.DataAccess(ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                                       "System.Data.SqlClient");

                string comm4 =
                    "UPDATE Orders SET CustomerID = @customerID WHERE OrderID = @orderID  AND TXNID = @txnID";

                // empty array
                string[] p4 = { "@customerID", "@orderID", "@txnID" };
                string[] v4 = { getCustomer[0].Id.ToString(), getOrder2[0].Id.ToString(), "" };
                // new cus old get order

                da4.ExecuteNonQuery(comm4, p4, v4);

                // clear
                p4 = null;
                v4 = null;

                // delete anonymous customer from customer table
                Customer customers = new Customer();
                customers.Id = getCustomer2[0].Id;

                CustomerDA customersDA = new CustomerDA();

                customersDA.Delete(customers);

                // clear
                customers = null;
                customersDA = null;

                //abandon session
                Session.Abandon();
                Session.Clear();

            }
            // if user doesn't have an on going order just
            // change the customer ID on the order
            else
            {
                // get cusotmerID of anonymous user
                //Instantiate our Category specific DataAccess Class
                CustomerDA customerDA2 = new CustomerDA();

                // check to see if user has items in their cart
                //Create an Object that specifies what we want to Get
                Customer customer2 = new Customer();

                //gets customer info based on customer username

                customer2.Username = Session["AnonymousUserName"].ToString();

                //We will be returned a collection so lets Declare that and fill it using Get()
                Collection<Customer> getCustomer2 = customerDA2.Get(customer2);

                //for (int i = 0; i < getCustomer2.Count; i++)
                //{
                //    getCustomer2[i].Id;
                //}

                // get orderID of anonymous user based on customerID
                OrderDA ordersIDDA = new OrderDA();

                //Create an Object that specifies what we want to Get
                Order ordersID = new Order();

                //gets order info based on customerID

                ordersID.CustomerId = getCustomer2[0].Id;

                // deletes the order with that customerID
                Collection<Order> getOrder2 = ordersIDDA.Get(ordersID);

                // update the customerid of the anonymous order to the customer, of the user who just logged on

                DAL.DataAccess da4 =
                    new DAL.DataAccess(ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                                       "System.Data.SqlClient");

                string comm4 =
                    "UPDATE Orders SET CustomerID = @customerID WHERE OrderID = @orderID  AND TXNID = @txnID";

                // empty array
                string[] p4 = { "@customerID", "@orderID", "@txnID" };
                string[] v4 = { getCustomer[0].Id.ToString(), getOrder2[0].Id.ToString(), "" };
                // new cus old get order

                da4.ExecuteNonQuery(comm4, p4, v4);

                // clear
                p4 = null;
                v4 = null;

                // delete anonymous customer from customer table
                Customer customers = new Customer();
                customers.Id = getCustomer2[0].Id;

                CustomerDA customersDA = new CustomerDA();

                customersDA.Delete(customers);

                // clear
                customers = null;
                customersDA = null;

                //DAL.DataAccess da8 =
                //                                 new DAL.DataAccess(
                //                                         ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                //                                         "System.Data.SqlClient");

                //string comm8 =
                //    "Delete FROM Customer WHERE CustomerID = @customerID";

                //// array with customerID
                //string[] p8 = { "@customerID" };
                //string[] v8 = { getCustomer2[0].Id.ToString() };

                //da8.ExecuteNonQuery(comm8, p8, v8);

                //// clear
                //p8 = null;
                //v8 = null;

                //abandon session
                Session.Abandon();
                Session.Clear();
            }

        }
    }
    protected void btnAddToCart_Click(object sender, EventArgs e)
    {
        // try catch for notifying the user when they
        // try to enter an item to their shopping cart
        // that is already in their shopping cart
        try
        {

            // call method to get values from the labels and textboxes
            // on the formview
            GetItems();

            // check to see if user is logged on
            if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
            {

                // get the customerID of the user who is logged on
                // get the id of the user that I just created
                Customer customer = new Customer();
                customer.Username = User.Identity.Name;
                CustomerDA customerIDDA = new CustomerDA();

                Collection<Customer> getCustomersID = customerIDDA.Get(customer);

                customerID = getCustomersID[0].Id;

                // clear
                customer = null;
                customerIDDA = null;

                // count how many orders that have not been verified exist in the orders table
                Order order = new Order();
                order.CustomerId = int.Parse(customerID.ToString());
                order.TxnId = "";

                OrderDA orderDA = new OrderDA();
                Collection<Order> getOrders = orderDA.Get(order);

                // returns one item
                countOrders = getOrders.Count;

                //clear
                order = null;
                orderDA = null;
                getOrders = null;

                // if there are no orders with a txnID = "" then add a new order
                // then get the OrderID of the Order to add items to the shopping
                // cart using that OrderID
                // if there are orders with a txnID = "" then select the OrderID
                // and add orders to the shopping cart using that OrderID
                if (int.Parse(countOrders.ToString()) == 0)
                {
                    // add a new order to the order table
                    // instantiate class
                    DAL.DataAccess da6 =
                        new DAL.DataAccess(ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                                           "System.Data.SqlClient");

                    // make command statement
                    string comm6 = "INSERT INTO Orders VALUES (@customerID, @grossTotal, @tax, @netTotal, @txnID, @paymentStatus)";

                    // make arrays for paramaters and input
                    string[] s6 = { "@customerID", "@grossTotal", "@tax", "@netTotal", "@txnID", "@paymentStatus" };
                    string[] v6 = { customerID.ToString(), "0", "0", "0", "", "" };

                    da6.ExecuteNonQuery(comm6, s6, v6);

                    //clear
                    s6 = null;
                    v6 = null;

                    // get the orderID of the order that was just created
                    // insert sale price
                    Order orderIID = new Order();
                    orderIID.CustomerId = int.Parse(customerID.ToString());
                    orderIID.TxnId = "";

                    OrderDA orderIDDA = new OrderDA();

                    Collection<Order> getOrder = orderIDDA.Get(orderIID);
                    orderID = getOrder[0].Id;

                    //clear
                    orderIID = null;
                    getOrder = null;

                    // see if item is on sale
                    if (isItemOnSale() == true)
                    {
                        // insert item into the database using the OrderID that was created
                        // instantiate class
                        // insert sale price
                        OrderItem orderItem = new OrderItem();
                        orderItem.OrderId = int.Parse(orderID.ToString());
                        orderItem.ItemId = itemID.Text;
                        orderItem.VendorId = int.Parse(vendorID.Text);
                        orderItem.Price = decimal.Parse(salePriceAnswerDouble.ToString("n2"));
                        orderItem.TotalPrice = decimal.Parse(salePriceAnswerDouble.ToString("n2"));
                        orderItem.Quantity = int.Parse(quantity.Text);

                        OrderItemDA orderItemDA = new OrderItemDA();

                        //Save the Objects to the Database
                        orderItemDA.Save(orderItem);

                        // clear
                        orderItem = null;
                        orderItemDA = null;

                        //// tell user the item was added to their cart successfully
                        successful.Text = "Added to shopping cart successfully!";
                        successful.Visible = true;

                        Response.Redirect(Request.RawUrl);
                    }
                    else
                    {

                        // insert regular price
                        OrderItem orderItem = new OrderItem();
                        orderItem.OrderId = int.Parse(orderID.ToString());
                        orderItem.ItemId = itemID.Text;
                        orderItem.VendorId = int.Parse(vendorID.Text);
                        orderItem.Price = decimal.Parse(price.ToString("n2"));
                        orderItem.TotalPrice = decimal.Parse(price.ToString("n2"));
                        orderItem.Quantity = int.Parse(quantity.Text);

                        OrderItemDA orderItemDA = new OrderItemDA();

                        //Save the Objects to the Database
                        orderItemDA.Save(orderItem);

                        // clear
                        orderItem = null;
                        orderItemDA = null;

                        // tell user the item was added to their cart successfully
                        successful.Text = "Added to shopping cart successfully!";
                        successful.Visible = true;

                        // refresh page
                        Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                        // Response.Redirect(Request.RawUrl);
                    }

                }
                else
                {

                    // get the orderID of the user that has a txnID = ""
                    // instantiate class
                    Order orderIID = new Order();
                    orderIID.CustomerId = int.Parse(customerID.ToString());
                    orderIID.TxnId = "";

                    OrderDA orderIDDA = new OrderDA();

                    Collection<Order> getOrder = orderIDDA.Get(orderIID);
                    orderID = getOrder[0].Id;

                    //clear
                    orderIID = null;
                    getOrder = null;

                    // check to see if the customer has the item in their cart already.
                    // if they do, do not insert item into database
                    OrderItem orderItemExistence = new OrderItem();
                    orderItemExistence.OrderId = int.Parse(orderID.ToString());
                    orderItemExistence.ItemId = itemID.Text;

                    OrderItemDA orderItemExistenceDA = new OrderItemDA();

                    Collection<OrderItem> getOrderItemExistence = orderItemExistenceDA.Get(orderItemExistence);

                    countItems = getOrderItemExistence.Count;

                    if (countItems > 0)
                    {
                        error.Text = "This item is in your shopping cart.";
                        error.Visible = true;
                    }
                    else
                    {
                        // see if item is on sale
                        if (isItemOnSale() == true)
                        {

                            // insert sale price
                            OrderItem orderItem = new OrderItem();
                            orderItem.OrderId = int.Parse(orderID.ToString());
                            orderItem.ItemId = itemID.Text;
                            orderItem.VendorId = int.Parse(vendorID.Text);
                            orderItem.Price = decimal.Parse(salePriceAnswerDouble.ToString("n2"));
                            orderItem.TotalPrice = decimal.Parse(salePriceAnswerDouble.ToString("n2"));
                            orderItem.Quantity = int.Parse(quantity.Text);

                            OrderItemDA orderItemDA = new OrderItemDA();

                            //Save the Objects to the Database
                            orderItemDA.Save(orderItem);

                            // tell user the item was added to their cart successfully
                            successful.Text = "Added to shopping cart successfully!";
                            successful.Visible = true;

                            // refresh page
                            Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                        }
                        else
                        {

                            // insert regular price
                            OrderItem orderItem = new OrderItem();
                            orderItem.OrderId = int.Parse(orderID.ToString());
                            orderItem.ItemId = itemID.Text;
                            orderItem.VendorId = int.Parse(vendorID.Text);
                            orderItem.Price = decimal.Parse(price.ToString("n2"));
                            orderItem.TotalPrice = decimal.Parse(price.ToString("n2"));
                            orderItem.Quantity = int.Parse(quantity.Text);

                            OrderItemDA orderItemDA = new OrderItemDA();

                            //Save the Objects to the Database
                            orderItemDA.Save(orderItem);

                            // tell user the item was added to their cart successfully
                            successful.Text = "Added to shopping cart successfully!";
                            successful.Visible = true;

                            // refresh page
                            Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);

                        }

                    }

                }

            }
            // if user is not logged on make up and account
            else
            {
                // if the anonymous session anonymouscustomerID is empty
                // create a new username and customerID
                if (Session["AnonymousUserName"] == null)
                {

                    // get all rows to get maximum customerID
                    CustomerDA customerDA = new CustomerDA();

                    //We will be returned a collection so lets Declare that and fill it using Get()
                    Collection<Customer> getCustomers = customerDA.Get(null);

                    // gets max customerID in table
                    // adds one and combines websites domain name
                    // with the anonymousID

                    max = (int)getCustomers[getCustomers.Count - 1].Id;

                    usernameID = int.Parse(max.ToString()) + 1;

                    anonymousUserName = "******" + usernameID;

                    //clear
                    customerDA = null;
                    getCustomers = null;

                    // insert the anonymousCustomerID into the customer table with the username of
                    // and the usernameID/customerID
                    // mypetsfw.com + customerID
                    Customer customer = new Customer(usernameID, true, anonymousUserName, "Fill In", "Fill In", "Fill In", "Fill In", "Fill In", "", "Fill In", "");

                    CustomerDA customerDA1 = new CustomerDA();
                    customerDA1.Save(customer);

                    // clear
                    customer = null;
                    customerDA = null;

                    // put the anonymoususername in a session
                    Session["AnonymousUserName"] = anonymousUserName.ToString();

                    // create a new order of the anonymous user
                    // add a new order to the order table
                    // instantiate class
                    Order oID1 = new Order();
                    oID1.Id = GetOrderIDPlusOne();
                    oID1.CustomerId = usernameID;
                    oID1.GrossTotal = 0;
                    oID1.Tax = 0;
                    oID1.NetTotal = 0;
                    // for payment status
                    oID1.TxnId = "";

                    OrderDA orderIDDA1 = new OrderDA();

                    // save
                    orderIDDA1.Save(oID1);

                    //DAL.DataAccess da11 =
                    //    new DAL.DataAccess(ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                    //                       "System.Data.SqlClient");

                    //// make command statement
                    //string comm11 = "INSERT INTO Orders VALUES (@customerID, @grossTotal, @tax, @netTotal, @txnID,  @paymentStatus)";

                    //// make arrays for paramaters and input
                    //string[] s11 = { "@customerID", "@grossTotal", "@tax", "@netTotal", "@txnID", "@paymentStatus" };
                    //string[] v11 = { usernameID.ToString(), "0", "0", "0", "", "" };

                    //da11.ExecuteNonQuery(comm11, s11, v11);

                    //clear
                    oID1 = null;
                    orderIDDA1 = null;

                    // get the orderID of the anonymoususer
                    // get the id of the user that I just created
                    Order oID = new Order();
                    oID.CustomerId = usernameID;
                    oID.TxnId = "";
                    OrderDA orderIDDA = new OrderDA();

                    Collection<Order> getOrderID = orderIDDA.Get(oID);

                    orderID = getOrderID[0].Id;

                    //clear
                    oID = null;
                    getOrderID = null;

                    // see if item is on sale
                    if (isItemOnSale() == true)
                    {
                        // insert item into the database using the OrderID that was created
                        // instantiate class

                        OrderItem orderItem = new OrderItem();
                        orderItem.OrderId = int.Parse(orderID.ToString());
                        orderItem.ItemId = itemID.Text;
                        orderItem.VendorId = int.Parse(vendorID.Text);
                        orderItem.Price = decimal.Parse(salePriceAnswerDouble.ToString());
                        orderItem.TotalPrice = decimal.Parse(salePriceAnswerDouble.ToString());
                        orderItem.Quantity = int.Parse(quantity.Text);

                        OrderItemDA orderItemDA = new OrderItemDA();

                        //Save the Objects to the Database
                        orderItemDA.Save(orderItem);

                        // clear
                        orderItem = null;
                        orderItemDA = null;

                        // tell anonymous the item was added to their cart successfully
                        successful.Text = "Added to shopping cart successfully!";
                        successful.Visible = true;

                        // refresh page
                        Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                    }
                    else
                    {
                        // insert item into the database using the OrderID that was created
                        // instantiate class

                        OrderItem orderItem = new OrderItem();
                        orderItem.OrderId = int.Parse(orderID.ToString());
                        orderItem.ItemId = itemID.Text;
                        orderItem.VendorId = int.Parse(vendorID.Text);
                        orderItem.Price = decimal.Parse(price.ToString());
                        orderItem.TotalPrice = decimal.Parse(price.ToString());
                        orderItem.Quantity = int.Parse(quantity.Text);

                        OrderItemDA orderItemDA = new OrderItemDA();

                        //Save the Objects to the Database
                        orderItemDA.Save(orderItem);

                        // clear
                        orderItem = null;
                        orderItemDA = null;

                        // tell anonymous the item was added to their cart successfully
                        successful.Text = "Added to shopping cart successfully!";
                        successful.Visible = true;

                        // refresh page
                        Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                    }

                }
                // if the session doesn't != null
                else
                {
                    // get the customerID of the user that I just created

                    Customer customer2 = new Customer();
                    customer2.Username = Session["AnonymousUserName"].ToString();
                    CustomerDA customerDA2 = new CustomerDA();

                    Collection<Customer> getCustomers2 = customerDA2.Get(customer2);

                    customerID = getCustomers2[0].Id;

                    // clear
                    customer2 = null;
                    customerDA2 = null;
                    getCustomers2 = null;

                    // see if an order doesn't already exist for the anonymousUser
                    // count how many orderIDs that have not been verified exist in the orders table

                    Order orders = new Order();
                    orders.CustomerId = int.Parse(customerID.ToString());
                    orders.TxnId = "";

                    OrderDA orderDA = new OrderDA();
                    Collection<Order> getOrder = orderDA.Get(orders);

                    // returns one item
                    countOrders = getOrder.Count;

                    //clear
                    orders = null;
                    orderDA = null;
                    getOrder = null;

                    // if there are no orders with a txnID = "" then add a new order
                    // then get the OrderID of the Order to add items to the shopping
                    // cart using that OrderID
                    // if there are orders with a txnID = "" then select the OrderID
                    // and add orders to the shopping cart using that OrderID
                    if (int.Parse(countOrders.ToString()) == 0)
                    {
                        // get the customerID of the user that I just created

                        Customer customerIDID = new Customer();
                        customerIDID.Username = Session["AnonymousUserName"].ToString();
                        CustomerDA customerIDDA = new CustomerDA();

                        Collection<Customer> getCustomers3 = customerIDDA.Get(customerIDID);

                        customerID = getCustomers3[0].Id;

                        // clear
                        customerIDID = null;
                        customerIDDA = null;
                        getCustomers3 = null;

                        // create a new order of the anonymous user
                        // add a new order to the order table
                        // instantiate class
                        Order oID1 = new Order();
                        oID1.Id = GetOrderIDPlusOne();
                        oID1.CustomerId = usernameID;
                        oID1.GrossTotal = 0;
                        oID1.Tax = 0;
                        oID1.NetTotal = 0;
                        // for payment status
                        oID1.TxnId = "";

                        OrderDA orderIDDA1 = new OrderDA();

                        // save
                        orderIDDA1.Save(oID1);

                        //DAL.DataAccess da11 =
                        //    new DAL.DataAccess(ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                        //                       "System.Data.SqlClient");

                        //// make command statement
                        //string comm11 = "INSERT INTO Orders VALUES (@customerID, @grossTotal, @tax, @netTotal, @txnID, @paymentStatus)";

                        //// make arrays for paramaters and input
                        //string[] s11 = { "@customerID", "@grossTotal", "@tax", "@netTotal", "@txnID", "@paymentStatus" };
                        //string[] v11 = { customerID.ToString(), "0", "0", "0", "", "" };

                        //da11.ExecuteNonQuery(comm11, s11, v11);

                        //clear
                        oID1 = null;
                        orderIDDA1 = null;

                        // get the orderid for the anonymous users new order

                        Order oID = new Order();
                        oID.CustomerId = int.Parse(customerID.ToString());
                        oID.TxnId = "";
                        OrderDA orderIDDA = new OrderDA();

                        Collection<Order> getOrderID = orderIDDA.Get(oID);

                        orderID = int.Parse(getOrderID[0].Id.ToString());

                        //clear
                        oID = null;
                        orderIDDA = null;
                        getOrderID = null;

                        // see if item is on sale
                        if (isItemOnSale() == true)
                        {

                            // insert item into the database using the OrderID that was created
                            // instantiate class
                            OrderItem orderItem = new OrderItem();
                            orderItem.OrderId = int.Parse(orderID.ToString());
                            orderItem.ItemId = itemID.Text;
                            orderItem.VendorId = int.Parse(vendorID.Text);
                            orderItem.Price = decimal.Parse(salePriceAnswerDouble.ToString());
                            orderItem.TotalPrice = decimal.Parse(salePriceAnswerDouble.ToString());
                            orderItem.Quantity = int.Parse(quantity.Text);

                            OrderItemDA orderItemDA = new OrderItemDA();

                            //Save the Objects to the Database
                            orderItemDA.Save(orderItem);

                            // clear
                            orderItem = null;
                            orderItemDA = null;

                            // tell user the item was added to their cart successfully
                            successful.Text = "Added to shopping cart successfully!";
                            successful.Visible = true;

                            // refresh page
                            Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                        }
                        else
                        {
                            // insert item into the database using the OrderID that was created
                            // instantiate class

                            OrderItem orderItem = new OrderItem();
                            orderItem.OrderId = int.Parse(orderID.ToString());
                            orderItem.ItemId = itemID.Text;
                            orderItem.VendorId = int.Parse(vendorID.Text);
                            orderItem.Price = decimal.Parse(price.ToString());
                            orderItem.TotalPrice = decimal.Parse(price.ToString());
                            orderItem.Quantity = int.Parse(quantity.Text);

                            OrderItemDA orderItemDA = new OrderItemDA();

                            //Save the Objects to the Database
                            orderItemDA.Save(orderItem);

                            // clear
                            orderItem = null;
                            orderItemDA = null;

                            // tell user the item was added to their cart successfully
                            successful.Text = "Added to shopping cart successfully!";
                            successful.Visible = true;

                            // refresh page
                            Response.AppendHeader("Refresh", "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                        }

                    }
                    // if an order is open and exists for the anonymous user
                    else
                    {

                        // get the customerID of the user that I just created
                        Customer customerIDID = new Customer();
                        customerIDID.Username = Session["AnonymousUserName"].ToString();
                        CustomerDA customerIDDA = new CustomerDA();

                        Collection<Customer> getCustomers3 = customerIDDA.Get(customerIDID);

                        customerID = getCustomers3[0].Id;

                        // clear
                        customerIDID = null;
                        customerIDDA = null;
                        getCustomers3 = null;

                        // get the orderID of the anonymoususer that has a txnID = ""
                        // instantiate class

                        Order oID = new Order();
                        oID.CustomerId = int.Parse(customerID.ToString());
                        oID.TxnId = "";
                        OrderDA orderIDDA = new OrderDA();

                        Collection<Order> getOrderID = orderIDDA.Get(oID);

                        orderID = getOrderID[0].Id;

                        //clear
                        oID = null;
                        orderIDDA = null;
                        getOrderID = null;

                        // check to see if the anonymous user has the item in their cart already.
                        // if they do, do not insert item into database
                        OrderItem orderItemExistence = new OrderItem();
                        orderItemExistence.OrderId = int.Parse(orderID.ToString());
                        orderItemExistence.ItemId = itemID.Text;

                        OrderItemDA orderItemExistenceDA = new OrderItemDA();

                        Collection<OrderItem> getOrderItemExistence = orderItemExistenceDA.Get(orderItemExistence);

                        countItems = getOrderItemExistence.Count;

                        if (countItems > 0)
                        {
                            error.Text = "This item is in your shopping cart.";
                            error.Visible = true;
                        }
                        else
                        {

                            // see if item is on sale
                            if (isItemOnSale() == true)
                            {
                                // insert item into the database using the existing OrdersID
                                // instantiate class
                                OrderItem orderItem = new OrderItem();
                                orderItem.OrderId = int.Parse(orderID.ToString());
                                orderItem.ItemId = itemID.Text;
                                orderItem.VendorId = int.Parse(vendorID.Text);
                                orderItem.Price = decimal.Parse(salePriceAnswerDouble.ToString());
                                orderItem.TotalPrice = decimal.Parse(salePriceAnswerDouble.ToString());
                                orderItem.Quantity = int.Parse(quantity.Text);

                                OrderItemDA orderItemDA = new OrderItemDA();

                                //Save the Objects to the Database
                                orderItemDA.Save(orderItem);

                                // clear
                                orderItem = null;
                                orderItemDA = null;

                                // tell user the item was added to their cart successfully
                                successful.Text = "Added to shopping cart successfully!";
                                successful.Visible = true;

                                // refresh page
                                Response.AppendHeader("Refresh",
                                                      "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                            }
                            else
                            {
                                // insert item into the database using the existing OrdersID
                                // instantiate class
                                OrderItem orderItem = new OrderItem();
                                orderItem.OrderId = int.Parse(orderID.ToString());
                                orderItem.ItemId = itemID.Text;
                                orderItem.VendorId = int.Parse(vendorID.Text);
                                orderItem.Price = decimal.Parse(price.ToString());
                                orderItem.TotalPrice = decimal.Parse(price.ToString());
                                orderItem.Quantity = int.Parse(quantity.Text);

                                OrderItemDA orderItemDA = new OrderItemDA();

                                //Save the Objects to the Database
                                orderItemDA.Save(orderItem);

                                // tell user the item was added to their cart successfully
                                successful.Text = "Added to shopping cart successfully!";
                                successful.Visible = true;

                                // refresh page
                                Response.AppendHeader("Refresh",
                                                      "0;URL=ItemDetails.aspx?ItemID=" + Request.QueryString["ItemID"]);
                            }
                        }

                    }
                }

            }
        }
        catch (SqlException)
        {
            // error.Text = "The item is in your shopping cart already.";
            // error.Visible = true;
        }
        catch (Exception)
        {

        }
    }
    // gets orderID plus one to enter a new order
    private int GetOrderIDPlusOne()
    {
        // get orderID + 1
        Order orderID = new Order();

        OrderDA orderIDDA = new OrderDA();

        Collection<Order> getOrderID = orderIDDA.Get(null);

        int orderIDPlusOne = (int)getOrderID[getOrderID.Count - 1].Id + 1;

        // clear
        orderID = null;
        orderIDDA = null;
        getOrderID = null;

        return orderIDPlusOne;
    }
    private void BindGridRepeater()
    {
        if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated || Session["AnonymousUserName"] != null)
        {

            // fill up gridview
            // instantiate class
            DAL.DataAccess da =
                new DAL.DataAccess(ConfigurationManager.ConnectionStrings["MyPetStoreDB"].ConnectionString,
                                   "System.Data.SqlClient");

            // sql command
            string comm =
                "SELECT Orders.OrderID, Orders.CustomerID, OrderItem.ItemID, OrderItem.Price, OrderItem.TotalPrice, OrderItem.Quantity, Items.ItemID, Items.ProductName, Items.Description, Items.PhotoLocation, Items.QuantityAvailable, Items.MinQuantity, Items.VendorID FROM Orders, OrderItem, Items WHERE Orders.OrderID = OrderItem.OrderID and OrderItem.ItemID = Items.ItemID and Orders.CustomerID = @customerID AND Orders.TXNID = @txnID";

            // data set
            DataSet ds = new DataSet();

            // empty array
            string[] p = { "@customerID", "@txnID" };
            string[] v = { GetCustomerID(), "" };

            ds = da.ExecuteQuery(comm, p, v);

            GridView1.DataSource = ds.Tables[0];
            GridView1.DataBind();

            // clear
            p = null;
            v = null;

            // fill up repeater
            // instantiate class

            Order order = new Order();
            order.CustomerId = int.Parse(GetCustomerID());
            order.TxnId = "";
            OrderDA orderDA = new OrderDA();
            Collection<Order> getOrder = orderDA.Get(order);

            rptOne.DataSource = getOrder;
            rptOne.DataBind();

            // clear
            p = null;
            v = null;
        }
        else
        {
            items.InnerHtml = "<h1>" + "Your Shopping Cart is Empty." + "</h1>";
        }
    }