コード例 #1
0
 /// <summary>
 /// 获取系标识 系部用户从用户信息拿 其它用户无值报错有值直接返回
 /// </summary>
 /// <param name="userClaim"></param>
 /// <param name="depIdInput"></param>
 /// <returns></returns>
 private Guid?GetDepId(UserClaimOutput userClaim, Guid?depIdInput)
 {
     if (userClaim.Role == "department")
     {
         var currentUser = _userRepository.FirstOrDefault(t => t.Id == userClaim.UserId && t.IsDeleted == false);
         return(currentUser?.DepartmentId);
     }
     else
     {
         if (!depIdInput.HasValue)
         {
             throw new UserFriendlyException("请选择系部");
         }
         return(depIdInput);
     }
 }
コード例 #2
0
        public UserClaimOutput UserClaim()
        {
            var             identity = User.Identity as ClaimsIdentity;
            UserClaimOutput output   = new UserClaimOutput();

            identity.Claims.ToList().ForEach(t =>
            {
                if (t.Type.ToLower() == "userid" && Guid.TryParse(t.Value, out Guid guid))
                {
                    output.UserId = guid;
                }
                if (t.Type.ToLower() == "nickname")
                {
                    output.Nickname = t.Value;
                }
                if (t.Type.ToLower() == "username")
                {
                    output.UserName = t.Value;
                }
                if (t.Type.ToLower() == "usertype" && int.TryParse(t.Value, out int type))
                {
                    output.UserType = (UserType)type;
                }


                if (t.Type.ToLower() == "roleid" && Guid.TryParse(t.Value, out Guid roleId))
                {
                    output.RoleId = roleId;
                }
                if (t.Type.ToLower() == "role")
                {
                    output.Role = t.Value;
                }


                //if (t.Type.ToLower() == "iss") output.iss = t.Value;
                //if (t.Type.ToLower() == "aud") output.aud = t.Value;
                //if (t.Type.ToLower() == "exp") output.exp = t.Value;
                //if (t.Type.ToLower() == "nbf") output.nbf = t.Value;
            });
            return(output);
        }
コード例 #3
0
 //private Guid? GetImportEnterpriseId(string enterpriseName)
 //{
 //    if (string.IsNullOrWhiteSpace(enterpriseName))
 //        return null;
 //    else
 //        return _enterpriseInfoRepository.GetAll().Where(t => t.FullName.Contains(enterpriseName) || t.NameAbbreviation.Contains(enterpriseName)).Take(1).Select(t => new { t.Id }).ToList().FirstOrDefault()?.Id;
 //}
 private Guid?GetImportDepartmentId(UserClaimOutput userClaim, string departmentName)
 {
     if (userClaim.Role == "department")
     {
         var currentUser = _userRepository.FirstOrDefault(t => t.Id == userClaim.UserId && t.IsDeleted == false);
         return(currentUser?.DepartmentId);
     }
     else
     {
         if (string.IsNullOrWhiteSpace(departmentName))
         {
             throw new UserFriendlyException("系名称不可为空");
         }
         var depId = _departmentRepository.GetAll().Where(t => t.Name.Contains(departmentName)).Take(1).Select(t => new { t.Id }).ToList().FirstOrDefault()?.Id;
         if (depId.HasValue)
         {
             return(depId);
         }
         else
         {
             throw new UserFriendlyException("指定系[" + departmentName + "]不存在");
         }
     }
 }