Example #1
0
        /// <summary>
        /// Updates a specified user's cart with data from another cart
        /// </summary>
        /// <param name="cartID">The ID of the cart that's being used</param>
        /// <param name="user">The E-mail address of the user who's cart to sync with</param>
        public void SyncCart(int cartID, string user)
        {
            string[] oldCartData     = DBOps.GetUserCart(DBOps.GetLatestEntry(DBOps.GetUserID(user)));
            string[] currentCartData = null;

            string[] r_currCartDataItems  = null;
            string[] r_currCartDataPrices = null;
            string[] r_currCartDataQuants = null;
            int      r_currQuant          = -1;
            decimal  r_currPrice          = -1;

            lastInsertedItem  = oldCartData[0];
            lastInsertedPrice = oldCartData[1];
            lastInsertedQuant = oldCartData[2];
            totalItemQuantity = Convert.ToInt32(oldCartData[3]);
            totalCartPrice    = Convert.ToDecimal(oldCartData[4]);

            try
            {
                currentCartData      = DBOps.GetUserCart(cartID);
                r_currCartDataItems  = currentCartData[0].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                r_currCartDataPrices = currentCartData[1].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                r_currCartDataQuants = currentCartData[2].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                r_currQuant          = Convert.ToInt32(currentCartData[3]);
                r_currPrice          = Convert.ToDecimal(currentCartData[4]);

                for (int i = 0; i < r_currCartDataItems.Length; i++)
                {
                    AddItem(r_currCartDataItems[i], Convert.ToDecimal(r_currCartDataPrices[i]), Convert.ToInt32(r_currCartDataQuants[i]));
                }
            }
            catch { }
        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // if the user is logged in, obtain his current cart if it's not zero.
            // otherwise, use the ID stored in the session variable.
            if (Session["currUser"] != null)
            {
                _user = (string)Session["currUser"];

                _userCartId = DBOps.GetLatestEntry(DBOps.GetUserID(_user)) != 0 ? DBOps.GetLatestEntry(DBOps.GetUserID(_user)) :
                              Convert.ToInt32(Session["prevID"]);
                _cart.cartID = _userCartId;

                if (Session["sync"] != null)
                {
                    _cart.SyncCart(Convert.ToInt32(Session["prevID"]), _user);
                    cartDatasource.Update();
                    Session["prevID"] = _userCartId;
                    Session.Remove("sync");
                }
            }
            else
            {
                _user       = "******";
                _userCartId = Convert.ToInt32(Session["prevID"]);
            }

            if (Session["prevID"] != null)
            {
                _userCartId = Convert.ToInt32(Session["prevID"]);
            }
            else
            {
                Session["prevID"] = _userCartId;
            }

            _cart.cartID = _userCartId;
            //Session["prevID"] = _userCartId;

            lvw_items.DataSource = DBOps.BuildUserCart(_userCartId);
            lvw_items.DataBind();
            lvw_totals.DataSource = DBOps.BuildUserCartTotals(_userCartId);
            lvw_totals.DataBind();

            Button button = (Button)UpdatePanel1.FindControl("btn_checkout");

            if (DBOps.BuildUserCart(_userCartId).Rows.Count == 0)
            {
                button.Enabled  = false;
                button.CssClass = "btn btn-outline-secondary btn-block";
            }
            else
            {
                button.Enabled = true;
            }

            SiteMaster master = Page.Master as SiteMaster;

            master.UpdateTotalCounters();
        }
 protected void userInfoDataSource_Updating(object sender, SqlDataSourceCommandEventArgs e)
 {
     e.Command.Parameters["@Id"].Value             = DBOps.GetUserID(_currUser);
     e.Command.Parameters["@latest_cart_id"].Value = _userCartId;
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["currUser"] != null)
            {
                _currUser = (string)Session["currUser"];
                _tempId   = DBOps.GetLatestEntry(DBOps.GetUserID(_currUser));

                if (_tempId == 0)
                {
                    if (DBOps.GetLatestEntry() < 1)
                    {
                        _userCartId = DBOps.GetLatestEntry() + 2;
                    }
                    else if (DBOps.GetLatestEntry() > 0)
                    {
                        _userCartId = DBOps.GetLatestEntry() + 1;
                    }
                }
                else
                {
                    _userCartId = _tempId;
                }
            }
            else
            {
                if (DBOps.GetLatestEntry() > 0)
                {
                    _userCartId = DBOps.GetLatestEntry() + 1;
                }
                else
                {
                    _userCartId = DBOps.GetLatestEntry() + 2;
                }
            }


            if (Session["prevID"] == null)
            {
                Session["prevID"] = _userCartId;
            }
            else
            {
                _userCartId = Convert.ToInt32(Session["prevID"]);
            }

            _cart.cartID = _userCartId;


            Random rand = new Random();

            _referenceKey = rand.Next(99999999).ToString() + _userCartId;

            if (Session["refkey"] == null)
            {
                Session["refkey"] = _referenceKey;
            }
            else
            {
                _referenceKey = (string)Session["refkey"];
            }
        }
Example #5
0
        protected void btn_login_Click(object sender, EventArgs e)
        {
            string username, password;
            bool   grantLogin = false;

            if (Page.IsValid)
            {
                DBOps.GetLoginDetails(tbx_mail.Text, out username, out password);

                if (username == string.Empty)
                {
                    grantLogin = false;
                }
                else
                {
                    if (tbx_password.Text == password)
                    {
                        grantLogin = true;
                    }
                }
            }

            if (grantLogin)
            {
                // used to be "loginRedirect" which indicates that the user was
                // redirected from the cart page. This is because previously,
                // only authenticated users are permitted to purchase anything
                // from the web store.
                if (Session["prevID"] != null)
                {
                    HttpCookie httpCookie = Request.Cookies["cartID"];

                    // user has no cart previously assigned to him? Assign this one
                    if (DBOps.GetLatestEntry(DBOps.GetUserID(tbx_mail.Text)) == 0)
                    {
                        //DBOps.reassignUserCart(tbx_mail.Text, ((Convert.ToInt32(httpCookie.Value.ToString()))));
                        DBOps.ReassignUserCart(tbx_mail.Text, Convert.ToInt32(Session["prevID"]));
                        DBOps.RegisterCart(tbx_mail.Text);
                    }

                    // else, we sync carts.

                    // Delete the cookie used to store the cart ID generated before
                    // We delete it because the user has this cart ID assigned to him in the database
                    // and can be easily retrieved from the said DB.
                    if (Request.Cookies["cartID"] != null)
                    {
                        HttpCookie myCookie = new HttpCookie("cartID");
                        myCookie.Expires = DateTime.Now.AddDays(-5);
                        Response.Cookies.Add(myCookie);
                    }

                    Session["currUser"] = tbx_mail.Text;


                    Session["sync"] = 1;
                    Session.Remove("loginRedirect");

                    // force any page that relies on this to take the user's cart ID
                    //Session.Remove("prevID");

                    Response.Redirect(@"~/Cart.aspx");
                }
                else
                {
                    Session["currUser"] = tbx_mail.Text;
                    Response.Redirect(@"~/Home");
                }
            }
        }
Example #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString.Count == 0)
            {
                Response.Redirect("Default.aspx");
            }

            _results = Products.Select(DataSourceSelectArguments.Empty) as DataView;
            _result  = _results?[0].Row;

            CreateDetails();
            CreateCarousel();

            #region Cart ID Logic
            if (Session["currUser"] != null)
            {
                _currUser = (string)Session["currUser"];
                _tempId   = DBOps.GetLatestEntry(DBOps.GetUserID(_currUser));

                if (_tempId == 0)
                {
                    if (DBOps.GetLatestEntry() < 1)
                    {
                        _userCartId = DBOps.GetLatestEntry() + 2;
                    }
                    else if (DBOps.GetLatestEntry() > 0)
                    {
                        _userCartId = DBOps.GetLatestEntry() + 1;
                    }
                }
                else
                {
                    _userCartId = _tempId;
                }
            }
            else
            {
                if (DBOps.GetLatestEntry() > 0)
                {
                    _userCartId = DBOps.GetLatestEntry() + 1;
                }
                else
                {
                    _userCartId = DBOps.GetLatestEntry() + 2;
                }
            }


            if (Session["prevID"] == null)
            {
                Session["prevID"] = _userCartId;
            }
            else
            {
                _userCartId = Convert.ToInt32(Session["prevID"]);
            }


            Random rand = new Random();
            _referenceKey = rand.Next(99999999).ToString() + _userCartId;

            if (Session["refkey"] == null)
            {
                Session["refkey"] = _referenceKey;
            }
            else
            {
                _referenceKey = (string)Session["refkey"];
            }
            #endregion
        }