//string insert işlemleri için yazıldı //public string Insert(string sql) //{ // string s = ""; // int index = Array.IndexOf(sql.ToCharArray(), '('); // if (dtSession.Rows.Count == 0) // { // //bişi yok // } // else if (dtSession.Rows.Count == 1) // { // s = sql.Substring(0, index + 1); // s += "@p1"; // s += sql.Substring(index + 1); // } // else // { // s = sql.Substring(0, index + 1); // //s = s.TrimEnd('('); // s += "@p1"; // for (int i = 1; i < dtSession.Rows.Count; i++) // { // s += ",@p" + (i + 1); // } // s += sql.Substring(index + 1); // } // return s; //} protected void rpSepet_ItemCommand(object source, RepeaterCommandEventArgs e) { string s = Request.Form["quantity"]; //HTML elementlerindeki değerlere ulaşım şekli Request.Form[html name] dir. Ancaaaaak repeateri datalist, listview vs.. içerikteki kontrolleri sürekli çoğaltan durumlarda (5 ürün varsa) aynı sayıda aynı id ve name bilgisini taşıyan kontrol var demektir. rpSepet.DataSource = AlisVeris.IslemYap(source, e, s); rpSepet.DataBind(); AlisVeris.Listele(); lblToplam.Text = AlisVeris.genelToplam; }
//kaç adet ürün alışmışsa buna bağlı olarak in(@p1,@p2...) şeklinde değişim sağlayacak bir metod yazalım. protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (HttpContext.Current.Session["sepet"] != null) { DataTable dtSession = (DataTable)HttpContext.Current.Session["sepet"]; rpSepet.DataSource = dtSession; rpSepet.DataBind(); } } AlisVeris.Listele(); lblToplam.Text = AlisVeris.genelToplam; }
public static DataTable IslemYap(object s, CommandEventArgs e, string yeniMiktar) { DataTable dtSession = (DataTable)HttpContext.Current.Session["sepet"]; if (e.CommandName == "sil") { for (int i = 0; i < dtSession.Rows.Count; i++) { if (dtSession.Rows[i]["id"].ToString() == e.CommandArgument.ToString()) { dtSession.Rows.RemoveAt(i); break; } } HttpContext.Current.Session["sepet"] = dtSession; //silinen ürün session dan da kaldırılsın ki kullanıcı başka sayfaya gidip tekrar sepete döndüğünde sildiği ürünü görmesin. } else if (e.CommandName == "guncelle") { string[] dizi = yeniMiktar.Split(','); ArrayList arr = new ArrayList(); for (int i = 0; i < dizi.Length; i++) { if (dizi[i].ToString() != ",") { arr.Add(dizi[i]); } } for (int i = 0; i < dtSession.Rows.Count; i++) { if (dtSession.Rows[i]["id"].ToString() == e.CommandArgument.ToString()) { dtSession.Rows[i]["adet"] = arr[i]; dtSession.Rows[i]["tutar"] = Convert.ToInt32(dtSession.Rows[i]["adet"]) * Convert.ToDouble(dtSession.Rows[i]["fiyat"]); break; } } HttpContext.Current.Session["sepet"] = dtSession; } AlisVeris.Listele(); return(dtSession); }
private static void Arttir(string id, int adet) { DataTable dt = new DataTable(); if (HttpContext.Current.Session["sepet"] != null) { dt = (DataTable)HttpContext.Current.Session["sepet"]; for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["id"].ToString() == id) { int urunAdedi = Convert.ToInt32(dt.Rows[i]["adet"]); urunAdedi += adet; dt.Rows[i]["adet"] = urunAdedi; dt.Rows[i]["tutar"] = urunAdedi * Convert.ToDouble(dt.Rows[i]["fiyat"]); HttpContext.Current.Session["sepet"] = dt;//güncellenmiş bilgiler sessiona atılmış oldu. break; } } } AlisVeris.Listele(); }
protected void Page_Load(object sender, EventArgs e) { FirsatUrunleri(); SonEklenenler(); AlisVeris.Listele(); }