/// <summary> /// /// </summary> /// <param name="contactInfo"></param> public bool InsertContact(ref Contact contactInfo) { try { string errorMessage = contactInfo.Validate(); if (!string.IsNullOrEmpty(errorMessage)) { throw new System.Exception(errorMessage); } var table = GetContactInfoDataTable(contactInfo); DataAccessLayer.InsertData(ref table); var dataRow = table.Rows[0]; var auditHelper = new AuditHelper("Insert", dataRow["ID"]); auditHelper.AuditColumn("FirstName", dataRow["FirstName"], null); auditHelper.AuditColumn("LastName", dataRow["LastName"], null); auditHelper.AuditColumn("EmailAddress", dataRow["EmailAddress"], null); auditHelper.AuditColumn("PhoneNumber", dataRow["PhoneNumber"], null); auditHelper.AuditColumn("Status", dataRow["Status"], null); auditHelper.EndAuditing(); auditHelper = null; return(true); } catch (Exception e) { LogHelper.Log(LogType.Error, String.Concat(e.Message, Environment.NewLine, e.StackTrace)); throw; } }
/// <summary> /// /// </summary> /// <param name="contactInfo"></param> public bool UpdateContact(ref Contact contactInfo) { try { string errorMessage = contactInfo.Validate(); if (!string.IsNullOrEmpty(errorMessage)) { throw new System.Exception(errorMessage); } var table = GetMatchingContacts(contactInfo); string filterExpression = string.Concat("ID = ", contactInfo.ContactId); DataRow[] rows = table.Select(filterExpression); AuditHelper auditHelper = new AuditHelper("Update", contactInfo.ContactId); foreach (DataRow dataRow in rows) { auditHelper.AuditColumn("FirstName", dataRow["FirstName"], contactInfo.FirstName); auditHelper.AuditColumn("LastName", dataRow["LastName"], contactInfo.LastName); auditHelper.AuditColumn("EmailAddress", dataRow["EmailAddress"], contactInfo.EmailAddress); auditHelper.AuditColumn("PhoneNumber", dataRow["PhoneNumber"], contactInfo.PhoneNumber); auditHelper.AuditColumn("Status", dataRow["Status"], contactInfo.Status); dataRow["FirstName"] = contactInfo.FirstName; dataRow["LastName"] = contactInfo.LastName; dataRow["EmailAddress"] = contactInfo.EmailAddress; dataRow["PhoneNumber"] = contactInfo.PhoneNumber; dataRow["Status"] = contactInfo.Status; } auditHelper.EndAuditing(); auditHelper = null; DataAccessLayer.UpdateData(ref table); return(true); } catch (Exception e) { LogHelper.Log(LogType.Error, String.Concat(e.Message, Environment.NewLine, e.StackTrace)); throw; } }
/// <summary> /// /// </summary> /// <param name="contactInfo"></param> public bool DeleteContact(ref List <Contact> contactInfo) { try { var table = GetContactInfoDataTable(contactInfo); AuditHelper auditHelper = new AuditHelper("Delete"); foreach (DataRow dataRow in table.Rows) { auditHelper.AuditColumn("ContactId", dataRow["ID"], null); auditHelper.AuditColumn("FirstName", dataRow["FirstName"], null); auditHelper.AuditColumn("LastName", dataRow["LastName"], null); auditHelper.AuditColumn("EmailAddress", dataRow["EmailAddress"], null); auditHelper.AuditColumn("PhoneNumber", dataRow["PhoneNumber"], null); auditHelper.AuditColumn("Status", dataRow["Status"], null); } auditHelper.EndAuditing(); auditHelper = null; DataAccessLayer.DeleteData(ref table); return(true); } catch (Exception e) { LogHelper.Log(LogType.Error, String.Concat(e.Message, Environment.NewLine, e.StackTrace)); throw; } }