예제 #1
0
        private static void SyncDataAuditValue(object s, AuditValueEventArgs e)
        {
            if (e.AuditValueType == AuditValueType.Insert)
            {
                switch (e.Property.Name)
                {
                case "CreatedBy":
                    e.Value = "INSTALL";
                    break;

                case "CreatedByName":
                    e.Value = "INSTALL";
                    break;
                }
            }
            else if (e.AuditValueType == AuditValueType.Update)
            {
                switch (e.Property.Name)
                {
                case "UpdatedBy":
                    e.Value = "INSTALL";
                    break;

                case "UpdatedByName":
                    e.Value = "INSTALL";
                    break;
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 同步数据审计方法
        /// </summary>
        /// <param name="s"></param>
        /// <param name="e"></param>
        private static void SyncDataAuditValue(object s, AuditValueEventArgs e)
        {
            if (e.AuditValueType == AuditValueType.Insert)
            {
                switch (e.Property.Name)
                {
                case "CreatedUserId":
                    e.Value = 1;
                    break;

                case "CreatedUserName":
                    e.Value = "小雪转中雪";
                    break;
                }
            }
            else if (e.AuditValueType == AuditValueType.Update)
            {
                switch (e.Property.Name)
                {
                case "ModifiedUserId":
                    e.Value = 1;
                    break;

                case "ModifiedUserName":
                    e.Value = "小雪转中雪";
                    break;
                }
            }
        }
예제 #3
0
        private void AuditValue(object s, AuditValueEventArgs e)
        {
            if (e.AuditValueType == AuditValueType.Insert &&
                e.Property.Name == "Id" &&
                e.Property.GetCustomAttribute <SnowflakeAttribute>(false) != null &&
                (e.Value == null || e.Value?.ToString() == "")

                )
            {
                var dataCenterId = _systemConfig.CurrentValue?.DataCenterId ?? 5;
                var workId       = _systemConfig.CurrentValue?.WorkId ?? 20;
                //var sf = new Common.IdGenerator.SnowflakeId(dataCenterId, workId);
                //var id = sf.NextId();

                var idWorker = Common.IdGenerator.Snowflake.Instance();
                idWorker.Init(dataCenterId, workId);
                var id = idWorker.NextId();

                e.Value = id.ToString();
            }

            if (_authUser == null || _authUser.Id == "")
            {
                return;
            }

            if (e.AuditValueType == FreeSql.Aop.AuditValueType.Insert)
            {
                switch (e.Property.Name)
                {
                case "CreatedBy":
                    e.Value = _authUser.Id;
                    break;

                case "CreatedByName":
                    e.Value = _authUser.UserName;
                    break;
                    //case "CreatedTime":
                    //    e.Value = DateTime.Now.Subtract(timeOffset);
                    //    break;
                }
            }
            else if (e.AuditValueType == FreeSql.Aop.AuditValueType.Update)
            {
                switch (e.Property.Name)
                {
                case "UpdatedBy":
                    e.Value = _authUser.Id;
                    break;

                case "UpdatedByName":
                    e.Value = _authUser.UserName;
                    break;
                    //case "UpdatedTime":
                    //    e.Value = DateTime.Now.Subtract(timeOffset);
                    //    break;
                }
            }
        }
        private static void Aop_AuditValue(object sender, AuditValueEventArgs e)
        {
            if (e.AuditValueType == AuditValueType.Insert)
            {
                switch (e.Property.Name)
                {
                case "Id":
                    if (e.Column.CsType == H_Type.LongType)
                    {
                        e.Value = IdHelper.GetLongId();     // 雪花id zookeeper分布式协同系统
                        //e.Value = ServiceLocator.ServiceProvider.GetService<ISnowflakeIdMaker>().NextId();
                    }
                    else if (e.Column.CsType == H_Type.GuidType)
                    {
                        // e.Value = FreeUtil.NewMongodbId(); //生成有序不重复的id  多台机器顺序是否有序,是否重复的情况未知
                        e.Value = Guid.NewGuid();
                    }
                    break;

                case nameof(IsCreateAudited.CreatorId):
                    if (CurrentUser.Value?.Id != null)
                    {
                        e.Value = CurrentUser.Value.Id;
                    }
                    break;

                case nameof(IsCreateAudited.CreateTime):
                    if (CurrentUser.Value?.Id != null)
                    {
                        e.Value = DateTime.Now;
                    }
                    break;
                }
            }
            else if (e.AuditValueType == AuditValueType.Update)
            {
                if (CurrentUser.Value?.Id == null)
                {
                    return;
                }
                switch (e.Property.Name)
                {
                case nameof(IsModifyAudited.ModifierId):
                    e.Value = CurrentUser.Value.Id;
                    break;

                case nameof(IsModifyAudited.ModifyTime):
                    e.Value = DateTime.Now;
                    break;
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 审计数据
        /// </summary>
        /// <param name="e"></param>
        /// <param name="timeOffset"></param>
        /// <param name="user"></param>
        public static void AuditValue(AuditValueEventArgs e, TimeSpan timeOffset, IUser user)
        {
            if (e.Property.GetCustomAttribute <ServerTimeAttribute>(false) != null &&
                (e.Column.CsType == typeof(DateTime) || e.Column.CsType == typeof(DateTime?)) &&
                (e.Value == null || (DateTime)e.Value == default || (DateTime?)e.Value == default))
            {
                e.Value = DateTime.Now.Subtract(timeOffset);
            }

            if (e.Column.CsType == typeof(long) &&
                e.Property.GetCustomAttribute <SnowflakeAttribute>(false) != null &&
                (e.Value == null || (long)e.Value == default || (long?)e.Value == default))
            {
                e.Value = YitIdHelper.NextId();
            }

            if (user == null || user.Id <= 0)
            {
                return;
            }

            if (e.AuditValueType == FreeSql.Aop.AuditValueType.Insert)
            {
                switch (e.Property.Name)
                {
                case "CreatedUserId":
                    if (e.Value == null || (long)e.Value == default || (long?)e.Value == default)
                    {
                        e.Value = user.Id;
                    }
                    break;

                case "CreatedUserName":
                    if (e.Value == null || ((string)e.Value).IsNull())
                    {
                        e.Value = user.Name;
                    }
                    break;

                case "TenantId":
                    if (e.Value == null || (long)e.Value == default || (long?)e.Value == default)
                    {
                        e.Value = user.TenantId;
                    }
                    break;
                }
            }
            else if (e.AuditValueType == FreeSql.Aop.AuditValueType.Update)
            {
                switch (e.Property.Name)
                {
                case "ModifiedUserId":
                    e.Value = user.Id;
                    break;

                case "ModifiedUserName":
                    e.Value = user.Name;
                    break;
                }
            }
        }