May
8
2013

Repository Pattern Öğreniyorum 2

Merhaba Arkadaşlar,

Repository Pattern Öğreniyorum 2 ikinci makalesinde ekleme , güncelleme  ve silme işlemini inceliyor olacağız. Repository Pattern nedir , ne işe yarar veya nerelerde kullanabiliriz gibi sorularınızın  cevabını yazdığım  Repository Pattern Öğreniyorum 1  makalesinde bulabilirsiniz.

Repository öğreniyorum 1 makalesinde yazdığım örneğin üzerinden devam etmeye çalışacağım.

İlk olarak Crud işlemlerini Sirket  entitysinin üzerinden yapmaya çalışacağım.  Siz isterseniz aynı mantığı kullanarak Personel entitysi üzerinde yapabilirsiniz.

İlk olarak EF.Businnes projesine  işlemlerimizi tutacak sirket isimli bir class ekleyelim.

sirket sınıfının kodları:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EF.Data;

namespace EF.Bussines
{
    public class sirket
    {
        Repository<Sirket> sirketEkle = new Repository<Sirket>();
        DenemeEntities dbcontext = new DenemeEntities();

        Sirket sirketTemp = new Sirket();

        // Sirket Ekliyoruz 
        public void SirketEkle(string sirketAdi,string Adresi)
        {

                sirketTemp.SirketAdi = sirketAdi;
                sirketTemp.SirketAdresi = Adresi;
                sirketEkle.Add(sirketTemp);

                dbcontext.SaveChanges();
        }

        // sirketId üzerinde  şirketlerimizi siliyoruz.
        public void SirketSil(int sirketId)
        {

            Sirket _tempSirket = (from p in dbcontext.Sirket
                                  where p.id == sirketId
                                    select p).FirstOrDefault();

            dbcontext.Sirket.DeleteObject(_tempSirket);

                dbcontext.SaveChanges();
        }

        //Sirket id ve Sirket üzerinde güncelleme 
        public void SirketGuncelle(int id, Sirket s)
        {
            Sirket _sirket = (from p in dbcontext.Sirket
                              where p.id == id
                              select p
                                ).Single();

            _sirket.SirketAdi = s.SirketAdi;
            _sirket.SirketAdresi = s.SirketAdresi;

            dbcontext.SaveChanges();

        }
    }
}

Yukarıdaki kodları anlamadıysanız Linq to Sql   makale serisi inceleye bilirsiniz.

İlk olarak ekleme işlemini ele alalım.

Repository Pattern Entity Add

 

Ekle buttonun  altındaki kodlar:

 

 private void btnEkle(object sender, RoutedEventArgs e)
        {
            sirket sirketTemp = new sirket();
            Repository<Sirket> sirketSil = new Repository<Sirket>();

            string SirketAd=txtSirketAd.Text;
            string SirketAdres=txtSirketAdresi.Text;

            sirketTemp.SirketEkle(SirketAd,SirketAdres);

            MessageBox.Show("Şirket başarı ile eklendi");

            this.Close();

        }

Ekleme işleme yaptıktan sonra

Repository Pattern Entity Add view

 

Silme işlemini ela alalım.

Repository Pattern Entity delete

 

Şirket Sil buttonun  altındaki kodlar:

private void btnSil_Click(object sender, RoutedEventArgs e)
        {

            Repository<Sirket> sirketSil = new Repository<Sirket>();

            sirket _sirket = new sirket();
            int sirketId = Convert.ToInt32(textBox1.Text);

            _sirket.SirketSil(sirketId);

            MessageBox.Show("Şirket Başarı ile Silindi");

            this.Close();
        }

Repository Pattern Entity delete view

 

Şimdi ise güncellem işlemini yapalım. Datagrid içersine çift tıklarak değiştirmek istediğiniz alanı değiştirere güncelle butona tıklamanız yeterlidir. Datagrid SelectedItem özelliğini kullanarak  güncellenecek bilgileri alarak  Businnes katmanında bulunan güncelle metoduna yolluyoruz.

Repository Pattern Entity update

 

Güncelle Butonu altındaki kodlar:

 Sirket ds = dataGrid1.SelectedItem as Sirket;

            int id = ds.id;

            _sirket.SirketGuncelle(id, ds);

            MessageBox.Show("Güncelleme Başarılı");

 

Repository Pattern Entity update view

 

Temizkod alanını Temizkodd yaptım Sakarya olarak yazanı ise Adapazarı yaparak değiştirdim.

Repository Patternde temel işlemleri yaparak ne işe yaradığını ve nasıl kullanabileceğini  açıklama çalıştım.

Umarım yararlı bir makale olmuştur.

Projeyini İndirin.

 

Yazar Hakkında

Harun Balta 63 adet yazısı bulunuyor..

Bilgisayar Mühendisliği Üzerine çalıştığım konular: C# , .Net , Silverlight , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql

Print Friendly