public UserModel GetUserById(int userId, bool withRole = false) { var user = _userRepository.GetById(userId); var model = user.ToModel(); if (withRole) { _userRoleRepository.FetchRoles(model); } return(model); }
public async Task <SignInResult> PasswordSignInAsync(string username, string password, string hostName) { var signInResult = await PasswordSignInAsync(username, password); if (signInResult.Success) { var user = signInResult.User; _userRoleRepository.FetchRoles(user); if (user.Roles.Any(x => x.CanBypassDomain())) { return(signInResult); } if (string.IsNullOrEmpty(hostName)) { signInResult.Success = false; signInResult.Message = Constants.Messages.INVALID_HOSTNAME; return(signInResult); } var host = await _hostDefinitionRepository.FindByNameAsync(hostName); if (host == null || host.Organization == null) { signInResult.Success = false; signInResult.Message = Constants.Messages.INVALID_HOSTNAME; return(signInResult); } var userBelongToOrg = await _organizationUserRepository.UserIsInOrganizationAsync(user.ID, host.Organization.ID); if (!userBelongToOrg) { signInResult.Success = false; signInResult.Message = Constants.Messages.INVALID_HOSTNAME; return(signInResult); } } return(signInResult); }