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); }
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); }
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); }