コード例 #1
0
ファイル: Products.aspx.cs プロジェクト: MaksutKaya/E-Ticaret
        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;
            }
        }
コード例 #2
0
ファイル: Products.aspx.cs プロジェクト: MaksutKaya/E-Ticaret
 // ----------------------------------------------------------------------------
 // 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
     {
     }
 }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
ファイル: Genel.Master.cs プロジェクト: MaksutKaya/E-Ticaret
        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;
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        // ----------------------------------------------------------------------------
        // 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;
            }
        }
コード例 #7
0
        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());
        }
コード例 #8
0
        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();
        }
コード例 #9
0
        // 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 !!!";
            }
        }
コード例 #10
0
        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";
            }
        }
コード例 #11
0
        // ----------------------------------------------------------------------------
        // 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;
            }
        }
コード例 #12
0
        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;
            }
        }
コード例 #13
0
        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();
        }