protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { int productId = Convert.ToInt32(e.CommandArgument.ToString()); switch (e.CommandName) { case "details": { Response.Redirect("~/ProductDetails.aspx?ProductId=" + productId.ToString()); } break; case "addToCart": { db = new Web.Library.E_TicaretDataContext(); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == Convert.ToInt32(e.CommandArgument)); Web.Library.Cart.CartProduct currentItem = new Web.Library.Cart.CartProduct(); currentItem.selectedProduct = selectedProd; currentItem.Quantity++; List <Web.Library.Cart.CartProduct> listemiz = Web.Library.Cart.CartTools.AddItem(currentItem, Session["myCart"]); //Web.Library.Cart.CartTools.GetAllCartProduct(Session["myCart"]); Session["mycart"] = listemiz; Response.Redirect(Page.Request.Url.ToString()); } break; } }
// ---------------------------------------------------------------------------- // DataList // ---------------------------------------------------------------------------- protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e) { // dropdownlist içine stok adetini getireceğiz. sotokta yok ve ya tükendi de yazdırılacak try { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Web.Library.Product prod = e.Item.DataItem as Web.Library.Product; int? stok = prod.UnitsInStock;// stukta ürün kalmadığında -> "?" Nullable hata vermeyecek DropDownList drpStokAdedi = e.Item.FindControl("drpQuantity") as DropDownList; if (IsPostBack == true && drpStokAdedi.SelectedItem != null) { return; } if (stok == null || stok == 0) { ListItem li = new ListItem("Stokta Yok", "0"); drpStokAdedi.Items.Add(li); } else { for (int i = 0; i < stok; i++) { drpStokAdedi.Items.Add(i.ToString()); } } } } catch { } }
protected void rptMyCart_ItemCommand(object source, RepeaterCommandEventArgs e) { switch (e.CommandName) { case "addToCart": { int productId = Convert.ToInt32(e.CommandArgument.ToString()); List <Web.Library.Cart.CartProduct> currentItems = Web.Library.Cart.CartTools.GetAllCartProduct(Session["myCart"]); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == productId); currentItems.Add(new Web.Library.Cart.CartProduct() { Quantity = 1, selectedProduct = (Web.Library.Product)selectedProd }); Session["mycart"] = currentItems; } break; case "detailsFromProductName": { Response.Redirect("~/ProductDetails.aspx?ProductId=" + e.CommandArgument.ToString()); } break; } }
private void leftRightSales() { db = new Web.Library.E_TicaretDataContext(); saleMaxID = db.Products.Max(p => p.ProductID); i = (i + rnd.Next(1, saleMaxID.Value)) % saleMaxID.Value; saleleft = db.Products.FirstOrDefault(p => p.ProductID > i); hfSaleLeft.Value = saleleft.ProductID.ToString(); ImgbtnSaleLeft.ImageUrl = saleleft.SmallPhotoPath; Session["saleLeftProd"] = saleleft; saleNew = db.Products.FirstOrDefault(p => p.ProductID == saleMaxID); hfSaleNew.Value = saleMaxID.ToString(); ImgbtnSaleNew.ImageUrl = saleNew.SmallPhotoPath; Session["saleNewProd"] = saleNew; }
protected void lbtnUrunKarsilastir_Click(object sender, EventArgs e) { db = new Web.Library.ORMETicaretDBDataContext(); // 1a. Web.Library.Product selectedProduct = db.Products.FirstOrDefault(p => p.ProductID == Convert.ToInt32(hfProductID.Value)); // 2a. List <Web.Library.Product> comparableItemsEnd = Web.Library.Compare.CompareTools.AddCompare(Session["myComparable"], selectedProduct); // 1b. SelectedProduct = selectedProduct; // 2b. Session["myComparable"] = comparableItemsEnd; // sayfayı tekrar kendine gönderme -> auto postBack özelliği gibi ... Response.Redirect(Page.Request.Url.ToString()); }
// ---------------------------------------------------------------------------- // GenelProdDetails Command (command yapısından dolayı datalistleri ayırdım) // ---------------------------------------------------------------------------- protected void GenelProdDetails_Command(object sender, CommandEventArgs e) { int productId = Convert.ToInt32(hdfProductID.Value); switch (e.CommandName) { case "kategori": { Response.Redirect("~/Products.aspx?CategoryID=" + e.CommandArgument.ToString()); } break; case "AddToCart": { db = new Web.Library.E_TicaretDataContext(); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == Convert.ToInt32(hdfProductID.Value)); Web.Library.Cart.CartProduct currentItem = new Web.Library.Cart.CartProduct(); currentItem.selectedProduct = selectedProd; currentItem.Quantity++; List <Web.Library.Cart.CartProduct> listemiz = Web.Library.Cart.CartTools.AddItem(currentItem, Session["myCart"]); Session["mycart"] = listemiz; Response.Redirect("~/ProductDetails.aspx?ProductId=" + selectedProd.ProductID.ToString()); } break; case "Compare": { db = new Web.Library.E_TicaretDataContext(); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == Convert.ToInt32(hdfProductID.Value)); List <Web.Library.Product> comparableItemsEnd = Web.Library.Compare.CompareTools.AddCompare(Session["myComparable"], selectedProd); selectedProduct = selectedProd; Session["myComparable"] = comparableItemsEnd; Response.Redirect(Page.Request.Url.ToString()); } break; } }
protected void lbtnSepeteEkle_Click(object sender, EventArgs e) { db = new Web.Library.ORMETicaretDBDataContext(); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == Convert.ToInt32(hfProductID.Value)); List <Web.Library.Cart.CartProduct> currentItemsEnd = Web.Library.Cart.CartTools.GetAllCartProduct(Session["myCart"]); currentItemsEnd.Add(new Web.Library.Cart.CartProduct() { Quantity = 1, SelectedProduct = (Web.Library.Product)selectedProd }); SelectedProduct = selectedProd; Session["myCart"] = currentItemsEnd; // sayfayı tekrar kendine gönderme -> auto postBack özelliği gibi ... Response.Redirect(Page.Request.Url.ToString()); }
protected void lbtnSecilenleriKaldir_Click(object sender, EventArgs e) { List <Web.Library.Product> currentItems = Web.Library.Compare.CompareTools.GetComparables(Session["myComparable"]); foreach (GridViewRow dGwR in dGwUrunKarsilastirma.Rows) { CheckBox chk = dGwR.FindControl("chkCheck") as CheckBox; if (chk.Checked) { int prodId = Convert.ToInt32((dGwR.FindControl("hfProductID") as HiddenField).Value); Web.Library.Product kaldirilanUrun = currentItems.FirstOrDefault(x => x.ProductID == prodId); currentItems.Remove(kaldirilanUrun); } } Session["myComparable"] = currentItems; Response.Redirect(Page.Request.Url.ToString()); //KarsilastirilacakUrunlariGetir(); }
// 1. private void UrunBilgisiniAl() { if (string.IsNullOrEmpty(Request.QueryString["ProductID"]) == true) { Response.Redirect("Default.aspx"); } // ID'yi kaybolmasın diye sanalda bir yerde tutalım ... bunun için de bir HiddenField'e (veya ViewState'e) ihtiyacımız var -> Design kısmına geçip - ToolBox'tan bir HiddenField atıp geliyorum ... hfProductID.Value = Request.QueryString["ProductID"]; int prodID = Convert.ToInt32(hfProductID.Value); // veya int prodID = Convert.ToInt32(Request.QueryString["ProductID"]); SelectedProduct = db.Products.FirstOrDefault(x => x.ProductID == prodID); // ------------------------------------------------------------- if (SelectedProduct.UnitsInStock > 0) // yani stokta ürün varsa; { stokDurumu = "Stokta ..."; } // isterseniz -> son 5 ürün vb., acele edin vb. için else if eklenebilir ... else // ürün bitmişse; { stokDurumu = " Tükendi !!!"; // veya "Stokta Yok !!!" } // ------------------------------------------------------------- if (SelectedProduct.UnitPrice > 100) // mesela 100TL üzeri Kargo Bedava olsun ... { kargoFiyati = "Kargo Ücretsizdir ..."; } else { kargoFiyati = "Kargo Müşteriye Aittir !!!"; } }
private void UrunBilgisiniAl() { if (string.IsNullOrEmpty(Request.QueryString["ProductID"]) == true) { Response.Redirect("Default.aspx"); } // ID'yi kaybolmasın diye sanalda biryerde tutalım. HiddenField kullanacağız hdfProductID.Value = Request.QueryString["ProductID"]; int prodID = Convert.ToInt32(hdfProductID.Value); selectedProduct = db.Products.FirstOrDefault(x => x.ProductID == prodID); LinkButton1.CommandArgument = selectedProduct.CategoryID.ToString(); Session["detailsProd"] = selectedProduct; if (selectedProduct.UnitsInStock > 5) { yaziColor = "green"; stokDurumu = "Stokta"; } else if (selectedProduct.UnitsInStock > 0) { yaziColor = "orange"; stokDurumu = "Son " + selectedProduct.UnitsInStock.ToString() + " Urun !"; } else { yaziColor = "red"; stokDurumu = "Tükendi"; } if (selectedProduct.UnitPrice > 100) { kargoUcreti = "Kargo ücretsizdir"; } else { kargoUcreti = "7.90"; } }
// ---------------------------------------------------------------------------- // DataList Command // ---------------------------------------------------------------------------- protected void GenelDataList_ItemCommand(object source, DataListCommandEventArgs e) { int productId = Convert.ToInt32(e.CommandArgument.ToString()); switch (e.CommandName) { case "detailsFromProductName": { Response.Redirect("~/ProductDetails.aspx?ProductId=" + productId.ToString()); } break; case "details": { Response.Redirect("~/ProductDetails.aspx?ProductId=" + productId.ToString()); } break; case "addToCart": { DropDownList drpStokAdedi = e.Item.FindControl("drpQuantity") as DropDownList; db = new Web.Library.E_TicaretDataContext(); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == Convert.ToInt32(hdfProductID.Value)); Web.Library.Cart.CartProduct currentItem = new Web.Library.Cart.CartProduct(); currentItem.selectedProduct = selectedProd; currentItem.Quantity++; List <Web.Library.Cart.CartProduct> listemiz = Web.Library.Cart.CartTools.AddItem(currentItem, Session["myCart"]); Session["mycart"] = listemiz; // Response.Redirect("~/ProductDetails.aspx?ProductId=" + productId.ToString()); Response.Redirect(Page.Request.Url.ToString()); } break; } }
protected void rptMyCart_ItemCommand(object source, RepeaterCommandEventArgs e) { switch (e.CommandName) { // Sepete Ekle case "addToCart": { int prodId = Convert.ToInt32(e.CommandArgument.ToString()); List <Web.Library.Cart.CartProduct> currentItems = Web.Library.Cart.CartTools.GetAllCartProduct(Session["myCart"]); Web.Library.Product selectedProd = db.Products.FirstOrDefault(p => p.ProductID == prodId); currentItems.Add(new Web.Library.Cart.CartProduct() { Quantity = 1, SelectedProduct = (Web.Library.Product)selectedProd }); Session["myCart"] = currentItems; } break; } }
protected void lbtnSecilenleriKaldir_Click(object sender, EventArgs e) { List <Web.Library.Product> currentItems = Web.Library.Compare.CompareTools.GetComparables(Session["myComparable"]); foreach (GridViewRow gw in gwUrunKarsilastirma.Rows) // GridViewRow olmasına ve CheckBox / HiddenField adlarının doğru olduğuna dikkat edin !!! { CheckBox chk = gw.FindControl("chkCheck") as CheckBox; if (chk.Checked) // veya == true { int prodId = Convert.ToInt32((gw.FindControl("hfProductID") as HiddenField).Value); Web.Library.Product kaldirilanUrun = currentItems.FirstOrDefault(x => x.ProductID == prodId); currentItems.Remove(kaldirilanUrun); } } Session["myComparable"] = currentItems; // sayfayı tekrar kendine gönderme -> auto postBack özelliği gibi ... Response.Redirect(Page.Request.Url.ToString()); // ------------------------------------ KarsilastirilacakUrunleriGetir(); }