private void btnRemoveStudentClientInfo_Click(object sender, EventArgs e) { using (var Dbconnection = new MCDEntities()) { using (System.Data.Entity.DbContextTransaction dbTran = Dbconnection.Database.BeginTransaction()) { try { //CRUD Operations CompanyContacts CC = (CompanyContacts)companyContactsBindingSource.Current; Individual CCFromCache = CurrentlySelectedCompany.Individuals.Where(a => a.IndividualID == CC.IndividualID).First(); CompanyContactDetails CD = (CompanyContactDetails)companyContactsDetailsBindingSource.Current; ContactDetail CDFromCache = CCFromCache.ContactDetails.Where(a => a.ContactDetailID == CD.ContactDetailID).First(); Dbconnection.ContactDetails.Attach(CDFromCache); Dbconnection.ContactDetails.Remove(CDFromCache); ////saves all above operations within one transaction Dbconnection.SaveChanges(); //commit transaction dbTran.Commit(); CCFromCache.ContactDetails.Remove(CDFromCache); this.refreshCompanyContactsDetails(); } catch (Exception ex) { if (ex is DbEntityValidationException) { foreach (DbEntityValidationResult entityErr in ((DbEntityValidationException)ex).EntityValidationErrors) { foreach (DbValidationError error in entityErr.ValidationErrors) { MessageBox.Show(error.ErrorMessage, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } //Rollback transaction if exception occurs dbTran.Rollback(); } } }; }
private void btnUpdateCompmayContactDetail_Click(object sender, EventArgs e) { if (this.companyContactDetailsBindingSource.Count > 0) { CompanyContactDetails CD = (CompanyContactDetails)companyContactDetailsBindingSource.Current; ContactDetail CDFromCache = CurrentlySelectedCompany.ContactDetails.Where(a => a.ContactDetailID == CD.ContactDetailID).First(); using (frmAddUpdateContactDetails frm = new frmAddUpdateContactDetails(CD.ContactDetailID)) { frm.CurrentDetail = CDFromCache; frm.ShowDialog(); if (frm.CurrentDetail != null) { CDFromCache.ContactDetailValue = frm.CurrentDetail.ContactDetailValue; } refreshCompanyContactDetails(); } } }