예제 #1
0
        public async Task <IActionResult> GetUsers([FromQuery] UserParams userParams)
        {
            var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var userFromRepo = await _repo.GetUser(currentUserId, true);

            userParams.UserId = currentUserId;

            if (string.IsNullOrEmpty(userParams.Status))
            {
                userParams.Status = userFromRepo.Status == "Teacher" ? "Student" : "Teacher";
            }

            var users = await _repo.GetUsers(userParams);

            var usersToReturn = _mapper.Map <IEnumerable <UserListDto> >(users);

            Response.AddPagination(users.CurrentPage, users.SizePage,
                                   users.TotalCount, users.Total);

            return(Ok(usersToReturn));
        }