/// <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 { } }
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"]; } }
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"); } } }
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 }