Пример #1
0
        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);
        }
Пример #2
0
        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);
                }
            }
        }