public bool AuditTrail(ZOperationResult operationResult, string logDomain, string logEntity, string logOperation, IZDataBase entityBefore, IZDataBase entityAfter) { if (IsAuditTrail(logDomain, logEntity, logOperation)) { JsonSerializerSettings settings = new JsonSerializerSettings { //Formatting = Formatting.Indented Formatting = Formatting.None, MaxDepth = 1 }; object[] ids; ZDataDictionaryAttribute dictionary; if (entityAfter != null) { ids = entityAfter.GetId(); dictionary = DataHelper.GetDataDictionaryAttribute(entityAfter.GetType()); } else // entityBefore != null { ids = entityBefore.GetId(); dictionary = DataHelper.GetDataDictionaryAttribute(entityBefore.GetType()); } // {"Id1":1,"Id2":2} string logId = ""; int idIndex = 0; foreach (string idProperty in dictionary.Keys) { logId += (String.IsNullOrEmpty(logId) ? "" : ",") + "\"" + idProperty + "\":" + JsonConvert.SerializeObject(ids[idIndex++], settings); } logId = "{" + logId + "}"; AuditTrailLog auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; auditTrailLog.LogUserName = IdentityHelper.UserName; auditTrailLog.LogDomain = logDomain; auditTrailLog.LogEntity = logEntity; auditTrailLog.LogOperation = logOperation; auditTrailLog.LogId = logId; auditTrailLog.LogEntityBefore = entityBefore == null ? "" : JsonConvert.SerializeObject(entityBefore, settings); auditTrailLog.LogEntityAfter = entityAfter == null ? "" : JsonConvert.SerializeObject(entityAfter, settings); IGenericRepository <AuditTrailLog> repository = UnitOfWork.GetRepository <AuditTrailLog>(); if (repository.Create(operationResult, auditTrailLog)) { UnitOfWork.Save(operationResult); } } return(operationResult.Ok); }
public AuditTrailLog ToAudit() { var audit = new AuditTrailLog() { Action = Action, DateChanged = DateChanged, UserId = UserId, UserName = UserName, EntityName = EntityName, PrimaryKeyValue = PrimaryKeyValue, OriginalValue = OriginalValue.Count == 0 ? null : JsonConvert.SerializeObject(OriginalValue), CurrentValue = CurrentValue.Count == 0 ? null : JsonConvert.SerializeObject(CurrentValue), }; return(audit); }
private static void AutoMapperAuditTrail123() { Console.WriteLine("\nApplication AuditTrail DTO -> Data -> DTO\n"); { Console.WriteLine("AuditTrailConfiguration"); AuditTrailConfiguration data = new AuditTrailConfiguration(); AuditTrailConfigurationDTO dto = DIHelper.Mapper.Map <AuditTrailConfigurationDTO>(data); data = DIHelper.Mapper.Map <AuditTrailConfiguration>(dto); } { Console.WriteLine("AuditTrailLog"); AuditTrailLog data = new AuditTrailLog(); AuditTrailLogDTO dto = DIHelper.Mapper.Map <AuditTrailLogDTO>(data); data = DIHelper.Mapper.Map <AuditTrailLog>(dto); } }
public bool SetAuditTrailLog(AuditTrailLog auditTrailLog) { using (SqlConnection sqlConnection = new SqlConnection(ServiceConfig.ConnectionString)) { using (SqlCommand sqlCommand = new SqlCommand("[BSB_SetAuditTrailLog]", sqlConnection)) { sqlConnection.Open(); sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.Parameters.AddWithValue("@in_LoginID", (String.IsNullOrEmpty(auditTrailLog.LoginID) ? (object)DBNull.Value : auditTrailLog.LoginID)); sqlCommand.Parameters.AddWithValue("@in_SystemIP", (String.IsNullOrEmpty(auditTrailLog.SystemIP) ? (object)DBNull.Value : auditTrailLog.SystemIP)); sqlCommand.Parameters.AddWithValue("@in_SessionID", (String.IsNullOrEmpty(auditTrailLog.SessionID) ? (object)DBNull.Value : auditTrailLog.SessionID)); sqlCommand.Parameters.AddWithValue("@in_Module", (String.IsNullOrEmpty(auditTrailLog.Module) ? (object)DBNull.Value : auditTrailLog.Module)); sqlCommand.Parameters.AddWithValue("@in_Action", (String.IsNullOrEmpty(auditTrailLog.Action) ? (object)DBNull.Value : auditTrailLog.Action)); sqlCommand.Parameters.AddWithValue("@in_Comments", (String.IsNullOrEmpty(auditTrailLog.Comments) ? (object)DBNull.Value : auditTrailLog.Comments + " | ClientDate : " + DateTime.Now.ToString())); sqlCommand.Parameters.AddWithValue("@in_JobId", (auditTrailLog.JobId == 0 ? (object)DBNull.Value : auditTrailLog.JobId)); sqlCommand.Parameters.AddWithValue("@in_BatchId", (auditTrailLog.BatchId == 0 ? (object)DBNull.Value : auditTrailLog.BatchId)); sqlCommand.ExecuteNonQuery(); } } return(true); }
public bool AuditTrail(ZOperationResult operationResult, string logUserName, string logDomain, string logEntity, string logOperation, IZDataBase entityBefore, IZDataBase entityAfter) { string logMode; if (IsAuditTrail(logDomain, logEntity, logOperation, out logMode)) { // (N) None // (K) Entity Key // (E) Full Entity if (!(String.IsNullOrEmpty(logMode) || logMode == "N")) { JsonSerializerSettings jsonSettings = new JsonSerializerSettings { //Formatting = Formatting.Indented Formatting = Formatting.None, MaxDepth = 1 }; object[] ids; IZProfile profile; if (entityAfter != null) { ids = entityAfter.GetId(); profile = DataHelper.GetProfile(entityAfter.GetType()); } else // entityBefore != null { ids = entityBefore.GetId(); profile = DataHelper.GetProfile(entityBefore.GetType()); } // 1|2 string logId = ""; int idIndex = 0; foreach (string idProperty in profile.Keys) { logId += (String.IsNullOrEmpty(logId) ? "" : "|") + JsonConvert.SerializeObject(ids[idIndex++], jsonSettings); } // {"Id1":1,"Id2":2} //string logId = ""; //int idIndex = 0; //foreach (string idProperty in profile.Keys) //{ // logId += (String.IsNullOrEmpty(logId) ? "" : ",") + "\"" + idProperty + "\":" + JsonConvert.SerializeObject(ids[idIndex++], settings); //} //logId = "{" + logId + "}"; AuditTrailLog auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; auditTrailLog.LogUserName = logUserName; auditTrailLog.LogDomain = logDomain; auditTrailLog.LogEntity = logEntity; auditTrailLog.LogOperation = logOperation; // K auditTrailLog.LogId = logId; // E if (logMode == "E") { auditTrailLog.LogEntityBefore = entityBefore == null ? "" : JsonConvert.SerializeObject(entityBefore, jsonSettings); auditTrailLog.LogEntityAfter = entityAfter == null ? "" : JsonConvert.SerializeObject(entityAfter, jsonSettings); } IGenericRepository <AuditTrailLog> repository = UnitOfWork.GetRepository <AuditTrailLog>(); if (repository.Create(operationResult, auditTrailLog)) { UnitOfWork.Save(operationResult); } } } return(operationResult.Ok); }
private static void CRUDApplication() { bool exit = false; while (!exit) { Console.Clear(); Console.WriteLine("CRUD Application Demo\n"); Console.WriteLine("<0> RETURN"); Console.WriteLine("<1> CREATE AuditTrailLog"); Console.WriteLine("<2> UPDATE AuditTrailLog"); Console.WriteLine("<3> DELETE AuditTrailLog"); Console.WriteLine("<4> TRANSACTION COMMIT AuditTrailLog"); Console.WriteLine("<5> TRANSACTION ROLLBAK AuditTrailLog"); Console.WriteLine("<T> TRUNCATE TABLE AuditTrailLog"); Console.Write("\nChoose an option... "); ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); ZOperationResult operationResult = new ZOperationResult(); IAuditTrailGenericApplication <AuditTrailLog> application = DIHelper.DIManager.GetService <IAuditTrailGenericApplication <AuditTrailLog> >(); AuditTrailLog auditTrailLog; switch (key.KeyChar) // <ENTER> = '\r' { case ('0'): exit = true; break; case ('1'): auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; application.Create(operationResult, auditTrailLog); break; case ('2'): auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; if (application.Create(operationResult, auditTrailLog)) { auditTrailLog.LogDate = DateTime.Today.AddMonths(1); auditTrailLog.LogTime = DateTime.Now.AddMonths(1); application.Update(operationResult, auditTrailLog); } break; case ('3'): auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; if (application.Create(operationResult, auditTrailLog)) { application.Delete(operationResult, auditTrailLog); } break; case ('4'): try { if (application.UnitOfWork.BeginTransaction(operationResult)) { auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; if (application.Create(operationResult, auditTrailLog)) { auditTrailLog.LogDate = DateTime.Today.AddMonths(1); auditTrailLog.LogTime = DateTime.Now.AddMonths(1); if (application.Update(operationResult, auditTrailLog)) { application.UnitOfWork.CommitTransaction(operationResult); } } } } catch (Exception exception) { operationResult.ParseException(exception); } if (!operationResult.Ok) { application.UnitOfWork.RollbackTransaction(operationResult); } break; case ('5'): try { if (application.UnitOfWork.BeginTransaction(operationResult)) { auditTrailLog = new AuditTrailLog(); auditTrailLog.LogDate = DateTime.Today; auditTrailLog.LogTime = DateTime.Now; if (application.Create(operationResult, auditTrailLog)) { auditTrailLog.LogDate = DateTime.Today.AddMonths(1); auditTrailLog.LogTime = DateTime.Now.AddMonths(1); if (application.Update(operationResult, auditTrailLog)) { application.UnitOfWork.RollbackTransaction(operationResult); } } } } catch (Exception exception) { operationResult.ParseException(exception); } if (!operationResult.Ok) { application.UnitOfWork.RollbackTransaction(operationResult); } break; case ('t'): case ('T'): application.UnitOfWork.SQLCommand("TRUNCATE TABLE EasyLOBAuditTrailLog"); break; } if (!exit) { if (operationResult.Ok) { List <AuditTrailLog> list = (List <AuditTrailLog>)application.SearchAll(operationResult); if (operationResult.Ok) { foreach (AuditTrailLog entity in list) { Console.WriteLine("{0} {1} {2}", entity.Id, entity.LogDate, entity.LogTime); } } } if (!operationResult.Ok) { Console.WriteLine(operationResult.Text); } Console.Write("\nPress <KEY> to continue... "); Console.ReadKey(); } } }