//Kaydetme işlemini yapan butonun tıklandığı zaman tetiklenen metod private void btnSave_Click(object sender, EventArgs e) { try { groupBox1.Enabled = false; driverBindingSource.EndEdit(); //DataGridiew'de seçili olan satırın verilerini alıp Driver tipinde obj isimli bir nesneye aktarırız Driver obj = driverBindingSource.Current as Driver; if (obj != null) { //SOAP Servisten client nesnesini kalıtırız DriverServiceSoapClient client = new DriverServiceSoapClient(); //Eğer yaptığımız son işlem ekleme ise bu if bloğuna girer if (objState == EntityState.Added) { //SOAP Serivismizdeki Insert metodunu kullanarak servis metodu aracılığıyla obj değerimizi DB'ye ekler obj.DriverID = client.Insert(obj); } //Eğer yaptığımız son işlem güncelleme ise bu if bloğuna girer else if (objState == EntityState.Changed) { //SOAP Serivismizdeki Update metodunu kullanarak servis metodu aracılığıyla obj değerimizi DB'de günceller client.Update(obj); } //datagridview güncellenir ve güncel verileri yansıtır dataGridView1.Refresh(); objState = EntityState.Unchanged; } kapat(); } catch (Exception ex) { MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Silme işlemini yapan butonun tıklandığı zaman tetiklenen metod private void btnDelete_Click(object sender, EventArgs e) { objState = EntityState.Deleted; if (MetroFramework.MetroMessageBox.Show(this, "Emin misin?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { // datagridview'den son seçilen satırın verilerini obj tutar Driver obj = driverBindingSource.Current as Driver; if (obj != null) { //SOAP Servisten client nesnesini kalıtırız DriverServiceSoapClient client = new DriverServiceSoapClient(); //Gönderdiğimiz ID değerine sahip veriyi DB'den silebilirse True silemezse false değer döndüren SOAP servisteki delete metodumuzu çağırırız ve içine obj.DriverID değerini //parametre olarak göndeririz, dönen değeri result adındaki değişkende tutarız, true dönerse silmiş demektir bu durumda kod if bloğuna girer DB den silinen kayıtı //driverBindingSource nesnesinin içinden de siler bool result = client.Delete(obj.DriverID); if (result) { driverBindingSource.RemoveCurrent(); objState = EntityState.Unchanged; } } kapat(); } catch (Exception ex) { MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
//Fox modülündeki Form1 yani servisi kullanan Modül açıldığında tetiklenen metod private void Form1_Load(object sender, EventArgs e) { try { //Modül açılırken ilk iş olarak SOAP Servisten kalıtacağımız bir client nesnesi //oluşturmak bu nesne ile servisimize bağlanabilir ve kullanabiliriz DriverServiceSoapClient client = new DriverServiceSoapClient(); //driverBindingSource SOAP Service'in içinde oluşturduğumuz object tipinde bir nesnedir, bu nesne üzerinden //ekleme silme güncelleme işlemlerimizi yapabilicez //NOT : Arayüzü oluştururken dataGridView'e DataGridViewTask üzerinden driverBindingSource nesnesini DataSource değeri olarak verdik // bu sebeple alt satırdaki kod ile driverBindingSource nesnesine aktarılan veriler dataGridView'de otomatik olarak yüklenir ve arayüzde görünür driverBindingSource.DataSource = client.GetAll(); kapat(); //Listemiz SOAP Servisteki Insert metoduna gönderilmek üzere hazır, Listemize eklenen son veriyi Insert etme işlemini Save butonunun tıklanmasıyla tetiklenen metoda bırakırız. } catch (Exception ex) { MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } }