Example #1
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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();
                }
            }
        }