public string Add(string Table, string KeyColumn, string KeyValue, string Desc, AuditAction Action, string UserID) { AccelTeam.Utilities.Data Data = new AccelTeam.Utilities.Data(ConfigurationSettings.AppSettings["CRM"].ToString()); DataTable dt = Data.Select(Table, "*", KeyColumn, KeyValue, ""); string AuditID = ""; if (dt.Rows.Count > 0) { string Content = ""; foreach (DataColumn dc in dt.Columns) { Content += dc.ColumnName + "\t" + dt.Rows[0][dc].ToString() + "\r\n"; } AuditID = Guid.NewGuid().ToString(); string[] col = { "AuditID", "AuditSource", "AuditKey", "AuditName", "AuditAction", "AuditContent", "CreatedBy", "ModifiedBy" }; object[] val = new object[] { AuditID, Table, KeyValue, Desc, Action, Content, UserID, UserID }; Data.Insert("AuditLog", col, val); } return(AuditID); }
private static void CreateLog_Wizard(SqlConnection Connection, SqlTransaction Transaction, AuditLog.AuditLogType AuditLogType, Guid?AuditKey, string AuditSource, string AuditName, string ReferenceTable, Guid?ReferenceID, DataRow CurrentData, DataRow NewData, Guid?UserID, string UserName) { if (CurrentData != null || NewData != null) { AuditFieldContainer objContainer = new AuditFieldContainer(); List <AuditField> fieldList = new List <AuditField>(); List <AuditField> fullFieldList = new List <AuditField>(); AuditLog.AuditAction auditAction = default(AuditLog.AuditAction); Nullable <Guid> auditGroupID = default(Nullable <Guid>); if (CurrentData == null) { auditAction = AuditLog.AuditAction.Insert; //Add foreach (DataColumn co in NewData.Table.Columns) { AuditField fieldObj = new AuditField(); fieldObj.FieldName = co.ColumnName; fieldObj.FieldValue = NewData[co.ColumnName].ToString(); fieldList.Add(fieldObj); } foreach (DataColumn co in NewData.Table.Columns) { AuditField fieldObj = new AuditField(); fieldObj.FieldName = co.ColumnName; fieldObj.FieldValue = NewData[co.ColumnName].ToString(); fullFieldList.Add(fieldObj); } } else if (NewData == null) { //Delete auditAction = AuditLog.AuditAction.Delete; auditGroupID = GetLastAuditGroupID_Wizard(Connection, Transaction, AuditLogType, AuditName, AuditSource, AuditKey); foreach (DataColumn co in CurrentData.Table.Columns) { AuditField fieldObj = new AuditField(); fieldObj.FieldName = co.ColumnName; fieldObj.FieldValue = CurrentData[co.ColumnName].ToString(); fieldList.Add(fieldObj); } foreach (DataColumn co in CurrentData.Table.Columns) { AuditField fieldObj = new AuditField(); fieldObj.FieldName = co.ColumnName; fieldObj.FieldValue = CurrentData[co.ColumnName].ToString(); fullFieldList.Add(fieldObj); } } else { //Update auditAction = AuditLog.AuditAction.Update; auditGroupID = GetLastAuditGroupID_Wizard(Connection, Transaction, AuditLogType, AuditName, AuditSource, AuditKey); foreach (DataColumn co in CurrentData.Table.Columns) { if (CurrentData[co.ColumnName].ToString() != NewData[co.ColumnName].ToString()) { AuditField fieldObj = new AuditField(); fieldObj.FieldName = co.ColumnName; fieldObj.FieldValue = NewData[co.ColumnName].ToString(); fieldList.Add(fieldObj); } } foreach (DataColumn co in CurrentData.Table.Columns) { AuditField fieldObj = new AuditField(); fieldObj.FieldName = co.ColumnName; fieldObj.FieldValue = NewData[co.ColumnName].ToString(); fullFieldList.Add(fieldObj); } } if (fieldList.Count > 0) { objContainer.AuditFields = fieldList.ToArray(); objContainer.FullAuditFields = fullFieldList.ToArray(); AccelTeam.Utilities.Data Data = new AccelTeam.Utilities.Data(ConfigurationSettings.AppSettings["CRM"].ToString()); Guid auditID = Guid.NewGuid(); string xml = SerializeToXML(objContainer); if (!auditGroupID.HasValue) { auditGroupID = Guid.NewGuid(); } AuditLog.InsertAuditLog(Connection, Transaction, auditID, AuditSource, AuditKey, AuditName, AuditLogType, auditAction, "", ReferenceTable, ReferenceID, xml, auditGroupID, UserID, UserName); } } }