private TData CheckICreationAudited <TUserKey>(TData entity) where TUserKey : struct, IEquatable <TUserKey>
        {
            if (!entity.GetType().IsBaseOn(typeof(ICreatedAudited <>)))
            {
                return(entity);
            }

            ICreatedAudited <TUserKey> entity1 = (ICreatedAudited <TUserKey>)entity;

            entity1.CreatedId = _httpContextAccessor.HttpContext.User?.Identity.GetIdentityServer4SubjectId <TUserKey>();
            entity1.CreatedAt = DateTime.Now;
            return((TData)entity1);
        }
Beispiel #2
0
        private static TEntity CheckICreationAudited <TEntity, TUserKey>(TEntity entity, IHttpContextAccessor httpContextAccessor)
            where TUserKey : struct, IEquatable <TUserKey>
        {
            if (!entity.GetType().IsBaseOn(typeof(ICreatedAudited <>)))
            {
                return(entity);
            }
            ICreatedAudited <TUserKey> entity1 = (ICreatedAudited <TUserKey>)entity;

            entity1.CreatedId = httpContextAccessor.HttpContext.User.Identity.GetUesrId <TUserKey>();
            entity1.CreatedAt = DateTime.Now;
            return((TEntity)entity1);
        }
        /// <summary>
        /// 检测并执行<see cref="ICreatedAudited"/>接口的逻辑
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <typeparam name="TKey"></typeparam>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static TEntity CheckICreatedAudited <TEntity, TKey>(this TEntity entity)
            where TEntity : IEntity <TKey>
            where TKey : IEquatable <TKey>
        {
            if (!(entity is ICreatedAudited))
            {
                return(entity);
            }
            ICreatedAudited entity1 = entity as ICreatedAudited;

            //未实现的记录当前用户信息
            entity1.CreateTime = DateTime.Now;
            return((TEntity)entity1);
        }
Beispiel #4
0
        private TEntity CheckICreationAudited <TUserKey>(TEntity entity)
            where TUserKey : struct, IEquatable <TUserKey>
        {
            if (!entity.GetType().IsBaseOn(typeof(ICreatedAudited <>)))
            {
                return(entity);
            }

            ICreatedAudited <TUserKey> entity1 = (ICreatedAudited <TUserKey>)entity;

            //entity1.CreatedId = (TUserKey) Guid.NewGuid()//_principal?.Identity.GetUesrId<TUserKey>();
            entity1.CreatedAt = DateTime.Now;
            return((TEntity)entity1);
        }
        /// <summary>
        /// 检测并执行<see cref="ICreatedAudited"/>接口的逻辑
        /// </summary>
        /// <param name="entity">要检测的实体信息</param>
        public static TEntity CheckICreatedAudited <TEntity, TKey>(this TEntity entity) where TEntity : IEntity <TKey>
        {
            if (!(entity is ICreatedAudited))
            {
                return(entity);
            }
            ICreatedAudited entity1  = entity as ICreatedAudited;
            ClaimsIdentity  identity = Thread.CurrentPrincipal.Identity as ClaimsIdentity;

            if (identity != null && identity.IsAuthenticated)
            {
                entity1.CreatorUserId = identity.GetClaimValue(ClaimTypes.NameIdentifier);
            }
            entity1.CreatedTime = DateTime.Now;
            return((TEntity)entity1);
        }
        /// <summary>
        /// 检测并执行<see cref="ICreatedAudited"/>接口的逻辑
        /// </summary>
        /// <param name="entity">要检测的实体信息</param>
        public static TEntity CheckICreatedAudited <TEntity, TKey>(this TEntity entity)
            where TEntity : IEntity <TKey>
            where TKey : IEquatable <TKey>
        {
            if (!(entity is ICreatedAudited))
            {
                return(entity);
            }
            ICreatedAudited entity1 = entity as ICreatedAudited;

            if (Thread.CurrentPrincipal.Identity is ClaimsIdentity identity && identity.IsAuthenticated)
            {
                string id = identity.GetClaimValueFirstOrDefault(ClaimTypes.NameIdentifier);
                if (!string.IsNullOrEmpty(id))
                {
                    entity1.CreatorUserId = id;
                }
            }
            entity1.CreatedTime = DateTime.Now;
            return((TEntity)entity1);
        }