/// <summary>
 /// Deprecated Method for adding a new object to the PaketNumaralari EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToPaketNumaralari(PaketNumaralari paketNumaralari)
 {
     base.AddObject("PaketNumaralari", paketNumaralari);
 }
    protected void btnKapsamaAl_Click(object sender, EventArgs e)
    {
        string PaketAdi="";
        if (rdbrnlstPaketKapsamlari.SelectedIndex != -1)
        {
            try
            {
                EFDal ed = new EFDal();
                int intIstId = 0;
                int PaketAdlariID = int.Parse(rdbrnlstPaketKapsamlari.SelectedValue);
                decimal PaketBedeli = ed.PaketBedeliniDon(PaketAdlariID);
                int PaketKapsamindakiCihazSayisi = ed.PaketKapsamindakiCihazSayisiniDon(PaketAdlariID);

                using (Service1Client proxy=new Service1Client())
                {
                    PaketAdi=proxy.PaketAdiDon(PaketAdlariID);
                }

                string SQL = "select max(PaketNo) as SiradakiPaketNo from PaketNumaralari";
                DataSet ds = ed.Sorgula(SQL);
                int SiradakiPaketNo = int.Parse(ds.Tables[0].Rows[0]["SiradakiPaketNo"].ToString()) + 1;
                ds.Dispose();
                string[] strings = Session["PaketKapsaminaAlinacakIDListesi"].ToString().Split(',');

                int PaketKapsaminaAlinmakIstenenToplamCihazSayisi = strings.Length;
                decimal PaketKapsaminaAlinacakHerCihazIcinSaptananOrtalamaBedel = PaketBedeli / PaketKapsaminaAlinmakIstenenToplamCihazSayisi;

                int[] ints = new int[strings.Length];
                if (ints.Length <= PaketKapsamindakiCihazSayisi)
                {
                    for (int i = 0; i < strings.Length; i++)
                    {
                        intIstId = int.Parse(strings[i]); // Provide some protection here
                        //DalClass.Sil("delete from PaketNumaralari where IstId =" + ints[i].ToString());//önceki aynı ISTID li kayitlari sil
                        //ilk önce Paketnumaraları tablosuna işle
                        using (sfKalDataEntities ent = new sfKalDataEntities())
                        {
                            PaketNumaralari oPaketNumaralari = new PaketNumaralari();
                            oPaketNumaralari.PaketNo = SiradakiPaketNo;
                            oPaketNumaralari.IstID = intIstId;
                            oPaketNumaralari.PaketAdlariID = int.Parse(rdbrnlstPaketKapsamlari.SelectedValue);
                            oPaketNumaralari.Tarih = DateTime.Parse(DateTime.Now.ToString());
                            oPaketNumaralari.PaketKapsaminaAlan = Context.User.Identity.Name;
                            ent.AddToPaketNumaralari(oPaketNumaralari);
                            ent.SaveChanges();
                            //daha sonra istek tablosuna bu istidli cihazın paket kapsamına alındığını işle

                            var oistek = (from c in ent.istek where c.ISTID == intIstId select c).First();
                            oistek.FATBEDEL = PaketKapsaminaAlinacakHerCihazIcinSaptananOrtalamaBedel;
                            oistek.PAKETNOID = SiradakiPaketNo;
                            ent.SaveChanges();
                        }
                    }
                    //BUrada daha sonra değişen kal bedellerini FatOnyazi tablosunda güncellememiz gerekiyor.
                    //EFDal ed = new EFDal();
                    ed.kal_PaketKapsaminaAlinmadanSonraBedelleriGuncelleme(Session["PaketKapsaminaAlinacakIDListesi"].ToString(), PaketKapsaminaAlinacakHerCihazIcinSaptananOrtalamaBedel);

                    /*
                    using (Service1Client proxy = new Service1Client())
                    {
                        proxy.kal_PaketKapsaminaAlinmadanSonraBedelleriGuncelleme(Session["PaketKapsaminaAlinacakIDListesi"].ToString(), PaketKapsaminaAlinacakHerCihazIcinSaptananOrtalamaBedel);
                    }*/

                    lblUyari.ForeColor = System.Drawing.Color.Green;
                    lblUyari.Text = "Paket kapsamına alma işlemi başarılı";
                }
                else
                {
                    lblUyari.ForeColor = System.Drawing.Color.Red;
                    //lblUyari.Text = "Paket kapsamına almaya çalıştığınız cihaz sayısı, " + PaketAdi + " isimli ve " + PaketKapsamindakiCihazSayisi.ToString()+" adet cihaz içeren paket için fazladır.Lütfen kontrol ediniz.";
                    lblUyari.Text = "Hata:Maksimum "+PaketKapsamindakiCihazSayisi.ToString() + " adet cihaz içeren "+PaketAdi+" isimli pakete, "+PaketKapsaminaAlinmakIstenenToplamCihazSayisi.ToString()+" adet cihaz yerleştirmeye çalışıyorsunuz.Lütfen bu paket kapsımına almaya çalıştığınız cihaz sayısını kontrol ediniz";
                }
            }
            catch(Exception exc)
            {
                lblUyari.ForeColor = System.Drawing.Color.Red;
                lblUyari.Text = "Paket kapsamına alma işlemi başarısız";
            }
        }
        else
        {
            lblUyari.ForeColor = System.Drawing.Color.Red;
            lblUyari.Text = "Öncelikle aşağıdan bir paket seçmelisiniz";
        }
    }
 /// <summary>
 /// Create a new PaketNumaralari object.
 /// </summary>
 /// <param name="paketNoID">Initial value of the PaketNoID property.</param>
 /// <param name="paketNo">Initial value of the PaketNo property.</param>
 /// <param name="istID">Initial value of the IstID property.</param>
 /// <param name="paketAdlariID">Initial value of the PaketAdlariID property.</param>
 /// <param name="tarih">Initial value of the Tarih property.</param>
 /// <param name="paketKapsaminaAlan">Initial value of the PaketKapsaminaAlan property.</param>
 public static PaketNumaralari CreatePaketNumaralari(global::System.Int32 paketNoID, global::System.Int64 paketNo, global::System.Int64 istID, global::System.Int32 paketAdlariID, global::System.DateTime tarih, global::System.String paketKapsaminaAlan)
 {
     PaketNumaralari paketNumaralari = new PaketNumaralari();
     paketNumaralari.PaketNoID = paketNoID;
     paketNumaralari.PaketNo = paketNo;
     paketNumaralari.IstID = istID;
     paketNumaralari.PaketAdlariID = paketAdlariID;
     paketNumaralari.Tarih = tarih;
     paketNumaralari.PaketKapsaminaAlan = paketKapsaminaAlan;
     return paketNumaralari;
 }