示例#1
0
    protected void rptHampers_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        proxy = new ServiceReference1.ServiceClient();

        if (e.CommandName == "UpdateQuantityHamper")
        {
            int uID = Convert.ToInt32(Session["UserID"]);
            int hID = Convert.ToInt32(e.CommandArgument);                                                       // Tıkladığımız satırdaki ürünün hamperid'sini çekiyor

            line  = (e.Item.ItemIndex);                                                                         //Tıkladığımız satırı çekiyoruz.
            count = Convert.ToInt32(((rptHampers.Items[line].FindControl("txtAdet")) as TextBox).Text);         //Tıkladığımız satırdaki ürünün adet sayısını çekiyor
            int count2 = Convert.ToInt32(((rptHampers.Items[line].FindControl("txtAdetOrj")) as TextBox).Text); //Tıkladığımız satırdaki ürünün adet sayısını çekiyor
            if (count2 != count)
            {
                bool check = proxy.UpdateQuantityHampers(hID, count);
                var  hmp   = proxy.GetHampers(uID);

                rptHampers.DataSource = hmp.ToList();
                rptHampers.DataBind();

                int countNew = Convert.ToInt32(((rptHampers.Items[line].FindControl("txtAdet")) as TextBox).Text);  //  Yeni  adedi çekiyor
                                                                                                                    //Değişimi kıyaslayıp Bootstrap - Modal Yapısını kullanıyoruz.
                if (check == true)
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", $"alert('Seçtiğiniz ürünün adet sayısı {countNew} olarak güncellendi.')", true);
                    proxy.WriteDebugLogInfo(DateTime.Now.ToString() + "  userid = " + Session["UserID"].ToString() + " , hID =" + Convert.ToInt32(e.CommandArgument) + "  ürünün adedini  " + countNew + " güncelledi.");
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Ürünümüzden istediğiniz miktarda bulunmamaktadır. Adet sayısını tekrar giriniz.')", true);
                }
                lblTotalPrice.Text = hmp.Sum(x => x.tprice).ToString();
            }
        }
        if (e.CommandName == "DeleteHamper") //Silme işlemi
        {
            int uID = Convert.ToInt32(Session["UserID"]);
            int hID = Convert.ToInt32(e.CommandArgument);                                               // Tıkladığımız satırdaki ürünün hamperid'sini çekiyor

            line  = (e.Item.ItemIndex);                                                                 //Tıkladığımız satırı çekiyoruz.
            count = Convert.ToInt32(((rptHampers.Items[line].FindControl("txtAdet")) as TextBox).Text); //Tıkladığımız satırdaki ürünün adet sayısını çekiyor

            bool check = proxy.DeleteHampers(hID, uID);                                                 //Fonksiyon çalışıyor
            var  hmp   = proxy.GetHampers(uID);                                                         //Fonksiyon çalışıyor
            rptHampers.DataSource = hmp.ToList();
            rptHampers.DataBind();

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Seçtiğiniz ürün sepetinizden çıkarılmıştır.')", true);
            proxy.WriteDebugLogInfo(DateTime.Now.ToString() + "  userid = " + Session["UserID"].ToString() + " , hID =" + Convert.ToInt32(e.CommandArgument) + "  ürünü sepetinden çıkardı.");

            lblTotalPrice.Text = hmp.Sum(x => x.tprice).ToString();
            // Yukarıdaki satırda: Modal Yapısının gerçekleşmesini sağlayan Script fonksiyonuna değişken yolluyoruz.
        }
    }