예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            SoruContext ctx = new SoruContext();

            if (button1.Text == "EKLE")
            {
                Soru s = new Soru();
                s.Konu        = textBox1.Text;
                s.SoruCumlesi = richTextBox1.Text;
                s.Cevap       = textBox2.Text;

                DbEntityValidationResult d = ctx.Entry(s).GetValidationResult();
                if (d.IsValid)
                {
                    ctx.Sorular.Add(s);
                    MessageBox.Show("Başarıyla eklendi.");
                    EskiHali();
                }
                else
                {
                    string hata = "";
                    foreach (var item in d.ValidationErrors)
                    {
                        hata += item.ErrorMessage + "\n";
                    }
                    MessageBox.Show(hata);
                }
                ctx.SaveChanges();
            }
            else
            {
                //** UZUN HALİ **//
                //Soru duzenlenecek = (from x in ctx.Sorular where x.SoruID == (int)listBox1.SelectedValue select x).FirstOrDefault();

                Soru duzenlecek = ctx.Sorular.Find(listBox1.SelectedValue);
                //Find metodu verilen id deki elemanı getirir.
                duzenlecek.Konu        = textBox1.Text;
                duzenlecek.Cevap       = textBox2.Text;
                duzenlecek.SoruCumlesi = richTextBox1.Text;

                //** Düzenlenen şey modele uygunluğunu kontrol etmek için **//
                DbEntityValidationResult d = ctx.Entry(duzenlecek).GetValidationResult();
                if (d.IsValid)                                                             //modele uygunsa
                {
                    ctx.Entry(duzenlecek).State = System.Data.Entity.EntityState.Modified; //Kayıtta değişiklik yapıldığının belirtilmesi gerekiyor.State ile.
                    ctx.SaveChanges();
                    MessageBox.Show("Kaydedildi.");
                }
                else
                {
                    MessageBox.Show("Bir hata oluştu");
                }
                EskiHali();
            }

            Yenile();
        }
예제 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            SoruContext ctx = new SoruContext();

            if (button1.Text == "Ekle")
            {
                Soru s = new Soru();
                s.Konu        = textBox1.Text;
                s.SoruCumlesi = richTextBox1.Text;
                s.Cevap       = textBox2.Text;
                //using System.Data.Entity.Validation;
                DbEntityValidationResult d = ctx.Entry(s).GetValidationResult();
                if (d.IsValid)   //geçerliyse
                {
                    ctx.Sorular.Add(s);
                    MessageBox.Show("Başarıyla eklendi");
                    EskiHali();
                }
                else
                {
                    string hata = "";
                    foreach (var item in d.ValidationErrors)
                    {
                        hata += item.ErrorMessage + " \n";
                    }
                    MessageBox.Show(hata);
                }
                ctx.SaveChanges();
            }
            else   //düzenle
                   //Soru duzenlenecek = (from x in ctx.Sorular where x.SoruID == (int)listBox1.SelectedValue select x).FirstOrDefault();
            {
                Soru duzenlenecek = ctx.Sorular.Find(listBox1.SelectedValue);
                //Find metodu verilen id deki elemanı getirir
                duzenlenecek.Konu        = textBox1.Text;
                duzenlenecek.Cevap       = textBox2.Text;
                duzenlenecek.SoruCumlesi = richTextBox1.Text;

                DbEntityValidationResult d = ctx.Entry(duzenlenecek).GetValidationResult();  //modele uygun mu, varsa hatalar bu değişkende

                if (d.IsValid)                                                               //model geçerliyse hata yoksa
                {
                    ctx.Entry(duzenlenecek).State = System.Data.Entity.EntityState.Modified; //kayıtta değişiklik yapıldı
                    ctx.SaveChanges();
                    MessageBox.Show("Kaydedildi");
                }
                else
                {
                    MessageBox.Show("Bir hata oluştu");
                }

                EskiHali();
            }
            Yenile();
        }