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(); }
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(); }