public async Task <IActionResult> GetAllUsers([FromQuery] UserParams userParams) { var repo = new TableStorageRepository(); var users = await repo.GetUsersWithoutParams(); var CurrentUserId = (User.FindFirst(ClaimTypes.NameIdentifier).Value); var userLogged = await repo.GetUser(CurrentUserId); if (userLogged.Role == "admin") { var usersAdmin = await repo.GetUsersWithoutParamsForAdmin(); var usersForAdmin = _mapper.Map <IEnumerable <UserDto> >(usersAdmin); return(Ok(usersForAdmin)); } if (!string.IsNullOrEmpty(userParams.UserId)) { users = users.Where(x => x.RowKey != userParams.UserId).OrderBy(x => x.Name); } users = users.OrderBy(x => x.Name); var usersToReturn = _mapper.Map <IEnumerable <UserDto> >(users); if (!usersToReturn.Any()) { return(NotFound()); } return(Ok(usersToReturn)); }