protected void btnUrunEkle_Click(object sender, EventArgs e)
    {
        string resimAdi = string.Empty;
        string Description = string.Empty;
        string Keyword = string.Empty;
        string Title = string.Empty;

      

        try
        {
            if (txtResimEk.PostedFile.FileName != "" || txtResimEk.PostedFile.ContentLength > 0)
            {
                resimAdi = Images.GetImageName(txtResimEk.PostedFile.FileName);
                txtResimEk.PostedFile.SaveAs(Images.GetPath(resimAdi));

                Images.SmallImage.Save(resimAdi, 220);
                Images.LittleImage.Save(resimAdi, 150);
                Images.BigImage.Save(resimAdi, 750, true);
            }

            if (string.IsNullOrEmpty(txtTitle.Text))
            {
                Description = txt_urunAdi.Text;
                Keyword = txt_urunAdi.Text;
                Title = txt_urunAdi.Text;
            }
            else
            {
                Description = txtDescription.Text;
                Keyword = txtKeyword.Text;
                Title =txtTitle.Text;     
            }

            urunSecenekleri();// listOzellik  gerialınıyor

            Urun urun = new Urun
            {
                title = Title,
                description = Description,
                keywords = Keyword,
                kategoriId = Convert.ToInt32(ddlkategoriler.SelectedItem.Value),
                markaId =  Convert.ToInt32(ddlMarkalar.SelectedItem.Value),
                urunKodu = txt_urunKodu.Text,
                urunAdi = txt_urunAdi.Text,
                kisaAciklama = txtAciklama.Text,
                urunFiyat = Convert.ToDecimal(txt_urunFiyat.Text),
                uIndirimFiyat = Convert.ToDecimal(txt_urunIndirimFiyat.Text),
                doviz = ddlDoviz.SelectedItem.Value.ToString(),
                kdv = Convert.ToInt16(txtKdv.Text),
                havaleIndirim = Convert.ToInt16(txtHavale.Text),
                desiMiktari = Convert.ToInt16(txtDesi.Text),
                urunStok =  Convert.ToInt16(txtStok.Text),
                kiritikStok = Convert.ToInt16( txtKiritikStok.Text),
                stokCins = ddlStokCinsi.SelectedItem.Value.ToString(),
                urunOzellik = fck_urunAciklama.Value,
                resimAdi = resimAdi,
                listOzellik = ozellikler,
                durum = Convert.ToBoolean(ckbDurum.Checked)

            };

            int degerdondur = UrunDB.kaydet(urun);

            if (degerdondur > 1)
            {

                if (!string.IsNullOrWhiteSpace(hdfSecenekler.Value))
                {
                    UrunDB.secenekKaydet(degerdondur, hdfSecenekler.Value.ToString()); 
                }
               
                ddlkategoriler.ClearSelection();
                ddlMarkalar.SelectedValue = "0";
                txt_urunKodu.Text = "";
                txt_urunAdi.Text = "";
                txt_urunFiyat.Text = "";
                fck_urunAciklama.Value = "";

                mesajGosterOk("Ürün Kaydı Başarı ile yapıldı..");
            }
        }
        catch (Exception ex)
        {
                Images.BigImage.Delete(resimAdi);
                Images.LittleImage.Delete(resimAdi);
                Images.SmallImage.Delete(resimAdi);

                mesajGosterSis("Hata Oluştu :" , ex);
        }
    }
    protected void btnUrunGuncelle_Click(object sender, EventArgs e)
    {
        try
        {
            urunSecenekleri();// listOzellik  gerialınıyor
         
            Urun urun = new Urun
            {
                id = Convert.ToInt32(Request.Params["id"]),
                title = txtTitle.Text.ToString(),
                description = txtDescription.Text,
                keywords = txtKeyword.Text,
                kategoriId = Convert.ToInt32(ddlkategoriler.SelectedItem.Value),
                markaId = Convert.ToInt32(ddlMarkalar.SelectedItem.Value),
                urunKodu = txt_urunKodu.Text,
                urunAdi = txt_urunAdi.Text,
                kisaAciklama = txtAciklama.Text,
                urunFiyat = Convert.ToDecimal(txt_urunFiyat.Text),
                uIndirimFiyat = Convert.ToDecimal(txt_urunIndirimFiyat.Text),
                doviz = ddlDoviz.SelectedItem.Value.ToString(),
                kdv = Convert.ToInt16(txtKdv.Text),
                havaleIndirim = Convert.ToInt16(txtHavale.Text),
                desiMiktari = Convert.ToInt16(txtDesi.Text),
                urunStok = Convert.ToInt16(txtStok.Text),
                kiritikStok = Convert.ToInt16(txtKiritikStok.Text),
                stokCins = ddlStokCinsi.SelectedItem.Value.ToString(),
                urunOzellik = fck_urunAciklama.Value,
                listOzellik = ozellikler,
                hit = Convert.ToInt32(txtHit.Text),
                durum = Convert.ToBoolean(ckbDurum.Checked)
            };


           int degerdondur = UrunDB.kaydet(urun);

           // Seçenek Kaydetme

           UrunDB.secenekKaydet(Convert.ToInt32(Request.Params["id"]), hdfSecenekler.Value.ToString());

           if (urun.uIndirimFiyat != 0)
           {
               urunIndirimBirdir(urun.id, urun.uIndirimFiyat, urun.urunAdi);
           }

           if (degerdondur == 0)
           {
               mesajGosterOk("Kaydınız başarıyla güncellendi.");
               UrunBilgiGetir();
           }
        }
        catch (Exception ex)
        {
            mesajGosterSis("Hata Oluştu :", ex);
        }
    }
        public static int kaydet(Urun urun)
        {
            int geriDonus = 0;
            try
            {
                SqlParameter[] parameter = new SqlParameter[24];
                parameter[0] = new SqlParameter("@title", SqlDbType.NVarChar);
                parameter[0].Value = urun.title;
                parameter[1] = new SqlParameter("@description", SqlDbType.NVarChar);
                parameter[1].Value = urun.description;
                parameter[2] = new SqlParameter("@keywords", SqlDbType.NVarChar);
                parameter[2].Value = urun.keywords;
                parameter[3] = new SqlParameter("@kategoriId", SqlDbType.Int);
                parameter[3].Value = urun.kategoriId;
                parameter[4] = new SqlParameter("@markaId", SqlDbType.Int);
                parameter[4].Value = urun.markaId;
                parameter[5] = new SqlParameter("@urunKodu", SqlDbType.NVarChar);
                parameter[5].Value = urun.urunKodu;
                parameter[6] = new SqlParameter("@urunAdi", SqlDbType.NVarChar);
                parameter[6].Value = urun.urunAdi;
                parameter[7] = new SqlParameter("@kisaAciklama", SqlDbType.NVarChar);
                parameter[7].Value = urun.kisaAciklama;
                parameter[8] = new SqlParameter("@urunFiyat", SqlDbType.Money);
                parameter[8].Value = urun.urunFiyat;
                parameter[9] = new SqlParameter("@uIndirimFiyat", SqlDbType.Money);
                parameter[9].Value = urun.uIndirimFiyat;
                parameter[10] = new SqlParameter("@doviz", SqlDbType.NVarChar);
                parameter[10].Value = urun.doviz;
                parameter[11] = new SqlParameter("@urunKDV", SqlDbType.Int);
                parameter[11].Value = urun.kdv;
                parameter[12] = new SqlParameter("@havaleIndirim", SqlDbType.Int);
                parameter[12].Value = urun.havaleIndirim;
                parameter[13] = new SqlParameter("@desiMiktari", SqlDbType.NVarChar);
                parameter[13].Value = urun.desiMiktari;
                parameter[14] = new SqlParameter("@urunStok", SqlDbType.NVarChar);
                parameter[14].Value = urun.urunStok;
                parameter[15] = new SqlParameter("@kiritikStok", SqlDbType.NVarChar);
                parameter[15].Value = urun.kiritikStok;
                parameter[16] = new SqlParameter("@stokCins", SqlDbType.NVarChar);
                parameter[16].Value = urun.stokCins;
                parameter[17] = new SqlParameter("@urunOzellik ", SqlDbType.NVarChar);
                parameter[17].Value = urun.urunOzellik;
                parameter[18] = new SqlParameter("@hit", SqlDbType.Int);
                parameter[18].Value = urun.hit;
                parameter[19] = new SqlParameter("@durum", SqlDbType.Bit);
                parameter[19].Value = urun.durum;
                parameter[20] = new SqlParameter("@resim_adi", SqlDbType.NVarChar);
                parameter[20].Value = urun.resimAdi;
                parameter[21] = new SqlParameter("@ozellikList", SqlDbType.NVarChar);
                parameter[21].Value = urun.listOzellik;

                parameter[22] = new SqlParameter("@deger_dondur", SqlDbType.Int);
                parameter[22].Direction = ParameterDirection.Output;


                if (urun.id > 0)// Ürün Güncelleme
                {
                    parameter[23] = new SqlParameter("@urunId", SqlDbType.NVarChar);
                    parameter[23].Value = urun.id;
                    SqlHelper.ExecuteNonQuery("urun_Guncelle", parameter);
                    geriDonus = int.Parse(parameter[22].Value.ToString());
                    
                }
                else
                {
                   SqlHelper.ExecuteNonQuery("urun_Ekle", parameter);
                   geriDonus = int.Parse(parameter[22].Value.ToString());
                }
            }
            catch (Exception hata)
            {
                throw hata;
            }

            return geriDonus;
        }
        public static Urun getir(int id, string bolge)
        {
            Urun kategoriTablo = new Urun();
            try
            {
                SqlParameter[] parametre = new SqlParameter[] 
                { 
                    new SqlParameter("@parametre", bolge ),
                    new SqlParameter("@id", id),
                };

                using (SqlDataReader dr = SqlHelper.ExecuteReader("urun_KayitGetir", parametre))
                {
                    string KisaAciklama = string.Empty;
                    while (dr.Read())
                    {
                        if (!dr.IsDBNull(dr.GetOrdinal("kisaAciklama")))
                        {
                            KisaAciklama = dr.GetString(dr.GetOrdinal("kisaAciklama"));
                        }

                        kategoriTablo = new Urun
                        {
                            id = dr.GetInt32(dr.GetOrdinal("id")),
                            kategoriId = dr.GetInt32(dr.GetOrdinal("kategoriId")),
                            markaId = dr.GetInt32(dr.GetOrdinal("markaId")),
                            urunKodu = dr.GetString(dr.GetOrdinal("urunKodu")),
                            urunAdi = dr.GetString(dr.GetOrdinal("urunAdi")),
                            kisaAciklama = KisaAciklama,
                            urunFiyat = dr.GetDecimal(dr.GetOrdinal("urunFiyat")),
                            uIndirimFiyat = dr.GetDecimal(dr.GetOrdinal("uIndirimFiyat")),
                            kdv = dr.GetInt32(dr.GetOrdinal("urunKDV")),
                            desiMiktari = dr.GetInt32(dr.GetOrdinal("desiMiktari")),
                            urunStok = dr.GetInt32(dr.GetOrdinal("urunStok")),
                            kiritikStok = dr.GetInt32(dr.GetOrdinal("kiritikStok")),
                            stokCins = dr.GetString(dr.GetOrdinal("stokCins")),
                            urunOzellik = dr.GetString(dr.GetOrdinal("urunOzellik")),
                            hit = dr.GetInt32(dr.GetOrdinal("hit")),
                            durum = dr.GetBoolean(dr.GetOrdinal("durum")),
                            title = dr.GetString(dr.GetOrdinal("title")),
                            description = dr.GetString(dr.GetOrdinal("description")),
                            keywords = dr.GetString(dr.GetOrdinal("keywords")),
                            havaleIndirim = dr.GetInt32(dr.GetOrdinal("havaleIndirim")),
                            doviz = dr.GetString(dr.GetOrdinal("doviz")),

                        };
                    }
                    
                }
             

             
                return kategoriTablo;
            }
            catch (Exception)
            {
                throw;
            }
        }
        public static Urun GetById(int id)
        {
            Urun kategoriTablo = new Urun();

            try
            {
                SqlParameter[] parametre = new SqlParameter[] 
                { 
                    new SqlParameter("@parametre", "web"),
                    new SqlParameter("@id", id),
                };

                using (SqlDataReader dr = SqlHelper.ExecuteReader("urun_KayitGetir", parametre))
                {
                    string KisaAciklama = string.Empty;
                    string urunOzellik = string.Empty;
                    while (dr.Read())
                    {
                        if (!dr.IsDBNull(dr.GetOrdinal("kisaAciklama")))
                        {
                            KisaAciklama = dr.GetString(dr.GetOrdinal("kisaAciklama"));
                        }

                        if (!dr.IsDBNull(dr.GetOrdinal("urunOzellik")))
                        {
                            urunOzellik = dr.GetString(dr.GetOrdinal("urunOzellik"));
                        }

                        kategoriTablo = new Urun
                        {
                            markaAdi = dr.GetString(dr.GetOrdinal("markaAdi")),
                            id = dr.GetInt32(dr.GetOrdinal("id")),
                            urunAdi = dr.GetString(dr.GetOrdinal("urunAdi")),
                            kisaAciklama = KisaAciklama,
                            urunFiyat = dr.GetDecimal(dr.GetOrdinal("urunFiyat")),
                            uIndirimFiyat = dr.GetDecimal(dr.GetOrdinal("uIndirimFiyat")),
                            kdv = dr.GetInt32(dr.GetOrdinal("urunKDV")),
                            desiMiktari = dr.GetInt32(dr.GetOrdinal("desiMiktari")),
                            urunStok = dr.GetInt32(dr.GetOrdinal("urunStok")),
                            kiritikStok = dr.GetInt32(dr.GetOrdinal("kiritikStok")),
                            stokCins = dr.GetString(dr.GetOrdinal("stokCins")),
                            urunOzellik = urunOzellik,
                            hit = dr.GetInt32(dr.GetOrdinal("hit")),
                            havaleIndirim = dr.GetInt32(dr.GetOrdinal("havaleIndirim")),
                            doviz = dr.GetString(dr.GetOrdinal("doviz")),
                            title = dr.GetString(dr.GetOrdinal("title")),
                            description = dr.GetString(dr.GetOrdinal("description")),
                            keywords = dr.GetString(dr.GetOrdinal("keywords"))
                       
                        };
                    }

                }

                return kategoriTablo;
            }
            catch (SqlException ex)
            {
                if (ex.Number == 233)
                    SqlConnection.ClearAllPools();

                throw;
            }
            catch (Exception)
            {
                throw;
            }
        }
    private void urunListele(int Baslangic, int Bitis)
    {
        try
        {
            SqlParameter[] parametre = new SqlParameter[] 
                { 
                    new SqlParameter("@Baslangic", Baslangic),
                    new SqlParameter("@Bitis", Bitis)
                };

            SqlDataReader dr = SqlHelper.ExecuteReader("urun_AdminListele", parametre);
            List<Urun> urunler = new List<Urun>();

            while (dr.Read())
            {
                Urun Info = new Urun(
                    dr.GetString(dr.GetOrdinal("resimAdi")),
                    dr.GetString(dr.GetOrdinal("kategoriadi")),
                    dr.GetString(dr.GetOrdinal("markaAdi")),
                    dr.GetString(dr.GetOrdinal("urunAdi")),
                    dr.GetInt32(dr.GetOrdinal("id")),
                    dr.GetBoolean(dr.GetOrdinal("durum")),
                    dr.GetInt32(dr.GetOrdinal("sira")),
                    dr.GetInt32(dr.GetOrdinal("urunStok")),
                    dr.GetString(dr.GetOrdinal("stokCins")),
                    dr.GetDecimal(dr.GetOrdinal("urunFiyat")),
                    dr.GetDecimal(dr.GetOrdinal("uIndirimFiyat")),
                    dr.GetInt32(dr.GetOrdinal("kiritikStok")),
                    dr.GetString(dr.GetOrdinal("doviz")));
                urunler.Add(Info);
            }
            dr.Close();

            GridView1.DataSource = urunler;
            GridView1.DataBind();


        }
        catch (Exception ex)
        {
            mesajGosterSis("Ürün Listeleme Hatası", ex);
        }
    }
    private void urunAramaMetodu(SqlDataReader dr, string gosterimAd)
    {
        List<Urun> urunler = new List<Urun>();
        while (dr.Read())
        {
            Urun Info = new Urun(
               dr.GetString(dr.GetOrdinal("resimAdi")),
               dr.GetString(dr.GetOrdinal("kategoriadi")),
               dr.GetString(dr.GetOrdinal("markaAdi")),
               dr.GetString(dr.GetOrdinal("urunAdi")),
               dr.GetInt32(dr.GetOrdinal("id")),
               dr.GetBoolean(dr.GetOrdinal("durum")),
               dr.GetInt32(dr.GetOrdinal("sira")),
               dr.GetInt32(dr.GetOrdinal("urunStok")),
               dr.GetString(dr.GetOrdinal("stokCins")),
               dr.GetDecimal(dr.GetOrdinal("urunFiyat")),
               dr.GetDecimal(dr.GetOrdinal("uIndirimFiyat")),
               dr.GetInt32(dr.GetOrdinal("kiritikStok")),
               dr.GetString(dr.GetOrdinal("doviz")));
            urunler.Add(Info);

            count = count + 1;
        }
        dr.Close();

        if (count == 0)
        {
            birlestir = "<b>\"" + gosterimAd.ToString() + "\"</b>  Ürün Bulunamadı.";
            mesajGosterNo(birlestir.ToString());
        }

        else if (Request.Params["markalar"] != null || Request.Params["kategori"] != null || Request.Params["tedarikciKod"] != null)
        {
            birlestir = "<b>\"" + gosterimAd.ToString() + "\"</b>   Toplam <b>" + toplamKayit.ToString() + "</b> Ürün Bulundu.";
            mesajGosterInfo(birlestir.ToString());

        }
        else
        {
            birlestir = "<b>\"" + gosterimAd.ToString() + "\"</b>   Toplam <b>" + count.ToString() + "</b> Ürün Bulundu.";
            mesajGosterInfo(birlestir.ToString());
        }



        GridView1.DataSource = urunler;
        GridView1.DataBind();
    }