public async Task <ActionResult <IEnumerable <RoleUserResponse> > > GetRoleUsers(string id) { var identityRole = await _roleManager.Roles.AsNoTracking().FirstOrDefaultAsync(r => r.Id == id); if (identityRole == null) { return(NotFound()); } var roleUserResponses = new List <RoleUserResponse>(); var users = await _userManager.Users.AsNoTracking().ToListAsync(); foreach (var user in users) { var roleUserResponse = new RoleUserResponse { Id = user.Id, Name = user.UserName, OnRule = await _userManager.IsInRoleAsync(user, identityRole.Name) }; roleUserResponses.Add(roleUserResponse); } return(roleUserResponses); }
public async Task <IActionResult> Get(string id) { try { IdentityRole identityRole = await _roleManager.FindByIdAsync(id); if (identityRole == null) { throw new Exception("Role not found"); } List <RoleUserResponse> roleUserResponses = new List <RoleUserResponse>(); foreach (var user in await _userManager.Users.ToListAsync()) { var roleUserResponse = new RoleUserResponse { Id = user.Id, Name = $"{user.FirstName} {user.LastName}", OnRule = await _userManager.IsInRoleAsync(user, identityRole.Name) }; roleUserResponses.Add(roleUserResponse); } return(Ok(roleUserResponses)); } catch (Exception ex) { _logger.LogError($"Get error: {ex.Message} - Id: {id}"); return(BadRequest()); } }