Beispiel #1
0
        //protected BaseObject ShadowCopy()
        //{
        //    return (BaseObject)this.MemberwiseClone();
        //}

        protected override void afterUpdate(DatabaseConnection dbConn, DBManager db)
        {
            if (dbConn is DatabaseConnectionWithAudit)
            {
                DatabaseConnectionWithAudit dbConnWithAudit = (DatabaseConnectionWithAudit)dbConn;
                EAuditTrail t = dbConnWithAudit.CurAuditTrail;
                if (t == null)
                {
                    return;
                }
                if (!t.LogDetail)
                {
                    InsertAuditTrailDetail(dbConnWithAudit, null);
                    return;
                }
                EAuditTrailDetail d = new EAuditTrailDetail();
                d.ActionType = EAuditTrailDetail.ACTIONTYPE_UPDATE;
                d.TableName  = db.dbclass.tableName;
                if (oldValueObject == null)
                {
                    d.Remark = db.GetTrailUpdate(this);
                }
                else
                {
                    d.Remark = GetTrailUpdate(dbConn, db);
                }
                InsertAuditTrailDetail(dbConnWithAudit, d);
            }
            oldValueObject = null;
        }
Beispiel #2
0
 public override void RollbackTransaction()
 {
     if (dbTransaction != null)
     {
         base.RollbackTransaction();
         CurAuditTrail = null;
     }
 }
Beispiel #3
0
 public static EAuditTrail StartFunction(DatabaseConnection dbConn, int UserID, string FunctionCode, int EmpID, bool LogDetail)
 {
     if (dbConn is DatabaseConnectionWithAudit)
     {
         EAuditTrail t = PrepareAuditTrail((DatabaseConnectionWithAudit)dbConn, UserID, FunctionCode, LogDetail);
         t.EmpID = EmpID;
         //EAuditTrail.db.insert(dbConn, t);
         //if (!LogDetail)
         //    CurAuditTrail = null;
         return(t);
     }
     return(null);
 }
Beispiel #4
0
        protected virtual void InsertAuditTrailDetail(DatabaseConnectionWithAudit dbConnWithAudit, EAuditTrailDetail d)
        {
            EAuditTrail t = dbConnWithAudit.CurAuditTrail;

            if (t != null)
            {
                if (t.AuditTrailID <= 0)
                {
                    EAuditTrail.db.insert(dbConnWithAudit, t);
                }
                if (d != null)
                {
                    d.AuditTrailID = t.AuditTrailID;
                    EAuditTrailDetail.db.insert(dbConnWithAudit, d);
                }
            }
        }
Beispiel #5
0
        private static EAuditTrail PrepareAuditTrail(DatabaseConnectionWithAudit dbConnWithAudit, int UserID, string FunctionCode, bool LogDetail)
        {
            DBFilter systemFunctionFilter = new DBFilter();

            systemFunctionFilter.add(new Match("FunctionCode", FunctionCode));
            ArrayList systemFunctionList = ESystemFunction.db.select(dbConnWithAudit, systemFunctionFilter);

            if (systemFunctionList.Count > 0)
            {
                //EUser user = WebUtils.GetCurUser(session);
                EAuditTrail t = new EAuditTrail(LogDetail);
                t.UserID     = UserID;
                t.FunctionID = ((ESystemFunction)systemFunctionList[0]).FunctionID;
                t.CreateDate = AppUtils.ServerDateTime();
                dbConnWithAudit.CurAuditTrail = t;
                return(t);
            }
            else
            {
                return(null);
            }
        }
Beispiel #6
0
        protected override void afterDelete(DatabaseConnection dbConn, DBManager db)
        {
            if (dbConn is DatabaseConnectionWithAudit)
            {
                DatabaseConnectionWithAudit dbConnWithAudit = (DatabaseConnectionWithAudit)dbConn;
                EAuditTrail t = dbConnWithAudit.CurAuditTrail;
                if (t == null)
                {
                    return;
                }
                if (!t.LogDetail)
                {
                    InsertAuditTrailDetail(dbConnWithAudit, null);
                    return;
                }

                EAuditTrailDetail d = new EAuditTrailDetail();
                d.ActionType = EAuditTrailDetail.ACTIONTYPE_DELETE;
                d.TableName  = db.dbclass.tableName;
                d.Remark     = db.GetTrailInsert(this);
                InsertAuditTrailDetail(dbConnWithAudit, d);
            }
        }