/// <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); } }
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); }
//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 + "]不存在"); } } }