Ejemplo n.º 1
0
        /// <summary>
        /// 写入作业日志(更新操作)
        /// </summary>
        /// <param name="oldObj">旧实体对象</param>
        /// <param name="newObj">新实体对象</param>
        /// <param name="OperationType">操作类型</param>
        /// <param name="Status">状态</param>
        /// <param name="Remark">操作说明</param>
        /// <returns></returns>
        public void WriteLog <T>(T oldObj, T newObj, OperationType OperationType, string Status, string Remark = "")
        {
            IDatabase     database    = DataFactory.Database();
            DbTransaction isOpenTrans = database.BeginTrans();

            try
            {
                SysLog.SysLogId       = CommonHelper.GetGuid;
                SysLog.ObjectId       = DatabaseCommon.GetKeyFieldValue(newObj).ToString();
                SysLog.LogType        = CommonHelper.GetString((int)OperationType);
                SysLog.IPAddress      = ManageProvider.Provider.Current().IPAddress;
                SysLog.IPAddressName  = ManageProvider.Provider.Current().IPAddressName;
                SysLog.CompanyId      = ManageProvider.Provider.Current().CompanyId;
                SysLog.DepartmentId   = ManageProvider.Provider.Current().DepartmentId;
                SysLog.CreateUserId   = ManageProvider.Provider.Current().UserId;
                SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
                SysLog.ModuleId       = DESEncrypt.Decrypt(WebHelper.GetCookie("ModuleId"));
                SysLog.CreateDate     = DateTime.Now;
                if (Remark == "")
                {
                    SysLog.Remark = DatabaseCommon.GetClassName <T>();
                }
                SysLog.Remark = Remark;
                SysLog.Status = Status;
                database.Insert(SysLog, isOpenTrans);
                //添加日志详细信息
                Type objTye = typeof(T);
                foreach (PropertyInfo pi in objTye.GetProperties())
                {
                    object oldVal = pi.GetValue(oldObj, null);
                    object newVal = pi.GetValue(newObj, null);
                    if (!Equals(oldVal, newVal))
                    {
                        if (oldVal != null && oldVal.ToString() != "&nbsp;" && oldVal.ToString() != "" && newVal != null && newVal.ToString() != "&nbsp;" && newVal.ToString() != "")
                        {
                            BaseSysLogDetail syslogdetail = new BaseSysLogDetail
                            {
                                SysLogDetailId = CommonHelper.GetGuid,
                                SysLogId       = SysLog.SysLogId,
                                PropertyField  = pi.Name,
                                PropertyName   = DatabaseCommon.GetFieldText(pi),
                                NewValue       = "" + newVal + "",
                                OldValue       = "" + oldVal + ""
                            };
                            database.Insert(syslogdetail, isOpenTrans);
                        }
                    }
                }
                database.Commit();
            }
            catch
            {
                database.Rollback();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 写入作业日志(删除操作)
        /// </summary>
        /// <param name="oldObj">旧实体对象</param>
        /// <param name="keyValue">对象主键</param>
        /// <param name="status">状态</param>
        /// <param name="Remark">操作说明</param>
        public void WriteLog <T>(string[] keyValue, string status, string Remark = "") where T : new()
        {
            IDatabase     database    = DataFactory.Database();
            DbTransaction isOpenTrans = database.BeginTrans();

            try
            {
                foreach (var item in keyValue)
                {
                    T oldentity = database.FindEntity <T>(item.ToString());
                    SysLog.SysLogId       = CommonHelper.GetGuid;
                    SysLog.ObjectId       = item;
                    SysLog.LogType        = CommonHelper.GetString((int)OperationType.Delete);
                    SysLog.IPAddress      = ManageProvider.Provider.Current().IPAddress;
                    SysLog.IPAddressName  = ManageProvider.Provider.Current().IPAddressName;
                    SysLog.CompanyId      = ManageProvider.Provider.Current().CompanyId;
                    SysLog.DepartmentId   = ManageProvider.Provider.Current().DepartmentId;
                    SysLog.CreateUserId   = ManageProvider.Provider.Current().UserId;
                    SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
                    SysLog.ModuleId       = DESEncrypt.Decrypt(WebHelper.GetCookie("ModuleId"));
                    SysLog.CreateDate     = DateTime.Now;
                    if (Remark == "")
                    {
                        SysLog.Remark = DatabaseCommon.GetClassName <T>();
                    }
                    SysLog.Remark = Remark;
                    SysLog.Status = status;
                    database.Insert(SysLog, isOpenTrans);
                    //添加日志详细信息
                    Type objTye = typeof(T);
                    foreach (PropertyInfo pi in objTye.GetProperties())
                    {
                        object value = pi.GetValue(oldentity, null);
                        if (value != null && value.ToString() != "&nbsp;" && value.ToString() != "")
                        {
                            BaseSysLogDetail syslogdetail = new BaseSysLogDetail
                            {
                                SysLogDetailId = CommonHelper.GetGuid,
                                SysLogId       = SysLog.SysLogId,
                                PropertyField  = pi.Name,
                                PropertyName   = DatabaseCommon.GetFieldText(pi),
                                NewValue       = "" + value + ""
                            };
                            database.Insert(syslogdetail, isOpenTrans);
                        }
                    }
                }
                database.Commit();
            }
            catch
            {
                database.Rollback();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 写入作业日志(新增操作)
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <param name="operationType">操作类型</param>
        /// <param name="status">状态</param>
        /// <param name="remark">操作说明</param>
        /// <returns></returns>
        public void WriteLog <T>(T entity, OperationType operationType, string status, string remark = "")
        {
            IDatabase     database    = DataFactory.Database();
            DbTransaction isOpenTrans = database.BeginTrans();

            try
            {
                SysLog.SysLogId       = CommonHelper.GetGuid;
                SysLog.ObjectId       = DatabaseCommon.GetKeyFieldValue(entity).ToString();
                SysLog.LogType        = CommonHelper.GetString((int)operationType);
                SysLog.IPAddress      = ManageProvider.Provider.Current().IPAddress;
                SysLog.IPAddressName  = ManageProvider.Provider.Current().IPAddressName;
                SysLog.CompanyId      = ManageProvider.Provider.Current().CompanyId;
                SysLog.DepartmentId   = ManageProvider.Provider.Current().DepartmentId;
                SysLog.CreateUserId   = ManageProvider.Provider.Current().UserId;
                SysLog.CreateUserName = ManageProvider.Provider.Current().UserName;
                SysLog.ModuleId       = DESEncrypt.Decrypt(WebHelper.GetCookie("ModuleId"));
                SysLog.CreateDate     = DateTime.Now;
                if (remark == "")
                {
                    SysLog.Remark = DatabaseCommon.GetClassName <T>();
                }
                SysLog.Remark = remark;
                SysLog.Status = status;
                database.Insert(SysLog, isOpenTrans);
                //添加日志详细信息
                Type objTye = typeof(T);
                foreach (PropertyInfo pi in objTye.GetProperties())
                {
                    object value = pi.GetValue(entity, null);
                    if (value == null || value.ToString() == "&nbsp;" || value.ToString() == "")
                    {
                        continue;
                    }
                    BaseSysLogDetail syslogdetail = new BaseSysLogDetail
                    {
                        SysLogDetailId = CommonHelper.GetGuid,
                        SysLogId       = SysLog.SysLogId,
                        PropertyField  = pi.Name,
                        PropertyName   = DatabaseCommon.GetFieldText(pi),
                        NewValue       = "" + value + ""
                    };
                    database.Insert(syslogdetail, isOpenTrans);
                }
                database.Commit();
            }
            catch
            {
                database.Rollback();
            }
        }