protected void RepeaterOrder_ItemCommand(object source, RepeaterCommandEventArgs e) { string query = string.Empty; int productId = Convert.ToInt32(e.CommandArgument); if (Session["userlogin"] != null) { if (e.CommandName == "btn_decrease") { query = $"Update OrderDetailTemp set quantity-=1 Where userId={id} And productId={productId} And quantity>0 "; } else if (e.CommandName == "btn_increase") { query = $"Update OrderDetailTemp set quantity+=1 Where userId={id} And productId={productId} And quantity>=0 "; } SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["OnShopCenterConnectionString"].ConnectionString); SqlCommand myCommand = new SqlCommand(query, myConn); try { myConn.Open(); myCommand.ExecuteNonQuery(); } catch (Exception) { } finally { myConn.Close(); } } else { if (e.CommandName == "btn_decrease") { OrderDetailsTemps.Find(o => o.ProductId == productId).Quantity -= 1; } else if (e.CommandName == "btn_increase") { OrderDetailsTemps.Find(o => o.ProductId == productId).Quantity += 1; } numItemInCart.Text = OrderDetailsTemps.Count().ToString(); Session["anonimo"] = OrderDetailsTemps; } Response.Redirect("CartPage.aspx"); }
protected void Page_Load(object sender, EventArgs e) { Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-Pt"); if (Session["userlogin"] == null) { if (Session["anonimo"] != null) { OrderDetailsTemps = (List <OrderDetailsTemp>)Session["anonimo"]; lbl_total.Text = OrderDetailsTemps.Sum(o => Convert.ToDecimal((decimal)o.Price * o.Quantity)).ToString("C"); lbl_sub.Text = OrderDetailsTemps.Sum(o => Convert.ToDecimal((decimal)o.Price * o.Quantity)).ToString("C"); numItemInCart.Text = OrderDetailsTemps.Count().ToString(); RepeaterOrder.DataSource = OrderDetailsTemps; RepeaterOrder.DataBind(); } } else { lbl_user.Text = $"Benvido {Session["userlogin"].ToString()}"; btn_login.Text = "Logout"; id = Convert.ToInt32(Session["userId"].ToString()); BindingRepeaterOrder(id); if (Session["userRole"].ToString() == "Reseller") { resellerInfo.Visible = true; } } if (OrderDetailsTemps.Count == 0 || OrderDetailsTemps == null) { btn_checkout.Enabled = false; } }
public void BindingRepeaterOrder(int id) { SqlConnection myConn = new SqlConnection(ConfigurationManager.ConnectionStrings["OnShopCenterConnectionString"].ConnectionString); SqlCommand mycommand = new SqlCommand { CommandType = CommandType.StoredProcedure, CommandText = "GetOrderDetails", Connection = myConn }; mycommand.Parameters.AddWithValue("@userId", id); myConn.Open(); var reader = mycommand.ExecuteReader(); SqlMoney money = 0.0m; while (reader.Read()) { numItemInCart.Text = reader.GetInt32(7).ToString(); lbl_total.Text = ((decimal)reader.GetSqlMoney(8)).ToString("C"); lbl_sub.Text = ((decimal)reader.GetSqlMoney(8)).ToString("C"); SqlMoney price = reader.GetSqlMoney(2); if (Session["userRole"].ToString() == "Reseller") { price -= price * (SqlMoney)0.2; money += price * reader.GetInt32(5); lbl_sub.Text = money.ToString(); lbl_total.Text = money.ToString(); } string base64 = string.Empty; if (reader[9] != null && reader[9].ToString().Length > 1) { base64 = Convert.ToBase64String((byte[])reader[9]); } string path; if (string.IsNullOrEmpty(base64)) { path = "../Config/images/no-image.png"; } else { path = $"data:image/jpeg;base64,{base64}"; } OrderDetailsTemps.Add(new OrderDetailsTemp { ProductId = reader.GetInt32(0), ProductName = reader.GetString(1), Price = price, Description = reader.GetString(3), Category = reader.GetString(4), Quantity = reader.GetInt32(5), UserId = reader.GetInt32(6), ImagePath = path }); } reader.Close(); myConn.Close(); RepeaterOrder.DataSource = OrderDetailsTemps; RepeaterOrder.DataBind(); }