//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; }
public override void RollbackTransaction() { if (dbTransaction != null) { base.RollbackTransaction(); CurAuditTrail = null; } }
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); }
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); } } }
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); } }
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); } }