private void DersSecimAc(int de)
 {
     liste.AllowUserToAddRows = false;
     try
     {
         edit = true;
         ogrenciIsleriDataContext db  = new ogrenciIsleriDataContext();
         tblDersSecim             drs = db.tblDersSecims.First(x => x.Id == secimId);
         liste.Visible   = false;
         liste2.Visible  = true;
         sEdit           = true;
         edit            = false;
         txtOgrNo.Text   = drs.OgrId.ToString();
         cbBolumAdi.Text = drs.tblBolum.BolumAdi;
         btnKaydet.Text  = "Sil";
         liste2.Rows[0].Cells[0].Value = drs.Id; // yeni bir liste2 adında dgridw açtım ki otomatik doldurmadan kaçalım diye. (seçilen ders gelsin sadece işlem için)
         liste2.Rows[0].Cells[2].Value = drs.tblDersKayit.DersAdi.ToString();
         liste2.Rows[0].Cells[3].Value = drs.tblDersKayit.tblOgrtGorevlisi.OgrtAdi;
     }
     catch (Exception)
     {
         //MessageBox.Show("Geri Getirme Hata Ders Secim Ac");
     }
 }
        private void Kaydet()
        {
            int    say     = 0;
            string str     = "";
            string eklenen = "";

            liste.AllowUserToAddRows = false; // boş satır eklemini engelliyor yoksa hataya dusuyoruz boş satırıda kaydetmeye kalkıyor
            try
            {
                ogrenciIsleriDataContext gb = new ogrenciIsleriDataContext();

                tblDersSecim[] alt = new tblDersSecim[liste.RowCount]; // datagridden veriler geleceği için array tanımladık

                for (int i = 0; i < liste.RowCount; i++)               // datagrid deki verileri tek tek okuyarak listeden kaydediyoruz oyuzden i'nci değeri tanımladık.
                {
                    int blmId = gb.tblBolums.First(x => x.BolumAdi == cbBolumAdi.Text).Id;
                    int drsId = gb.tblDersKayits.First(x => x.DersAdi == liste.Rows[i].Cells[2].Value.ToString()).Id;

                    bool isChecked = Convert.ToBoolean(liste.Rows[i].Cells["secim"].Value);

                    int ogrId  = int.Parse(txtOgrNo.Text);
                    int DersId = gb.tblDersKayits.First(x => x.DersAdi == liste.Rows[i].Cells[2].Value.ToString()).Id;

                    mukerrer(ogrId, DersId);

                    if (isChecked == true && sonuc == true)
                    {
                        alt[i]         = new tblDersSecim();
                        alt[i].BolumId = cbBolumAdi.Text != "" ? blmId : -1;
                        alt[i].DersId  = liste.Rows[i].Cells[2].Value.ToString() != "" ? drsId : -1;
                        alt[i].OgrId   = int.Parse(txtOgrNo.Text);
                        gb.tblDersSecims.InsertOnSubmit(alt[i]); //kaydediyorz
                        gb.SubmitChanges();

                        eklenen += liste.Rows[i].Cells[2].Value.ToString() + " ";
                    }
                    else if (isChecked == true && sonuc == false)
                    {
                        str += liste.Rows[i].Cells[2].Value.ToString() + " ";
                    }
                }
                if (!string.IsNullOrEmpty(str))
                {
                    if (!string.IsNullOrEmpty(eklenen))
                    {
                        MessageBox.Show("Seçimleriniz Alındı \n " + eklenen + " Adlı Derlsler Eklendi, \n" + str + " Adlı Dersler Zaten Var oldugundan tekrar eklenmedi!!!");
                    }
                    else
                    {
                        MessageBox.Show(str + " Adlı Dersler Zaten Var oldugundan tekrar eklenmedi!!!");
                    }
                }
                else
                {
                    MessageBox.Show("Seçimleriniz Alındı");
                }
                //MessageBox.Show("secımler var zaten.com");
                //veritabınında tum isleri halledecek kaydedecek en sonunda
            }
            catch (Exception)
            {
                MessageBox.Show("Hata Seçim Alınamadı");
            }
        }