Esempio n. 1
0
        public async Task <IActionResult> GetUsers([FromQuery] UserParams userParams)
        {
            var repo = new TableStorageRepository();

            var CurrentUserId = (User.FindFirst(ClaimTypes.NameIdentifier).Value);

            userParams.UserId = CurrentUserId;

            var userLogged = await repo.GetUser(CurrentUserId);

            if (!string.IsNullOrEmpty(userLogged.Role) && userParams.Team)
            {
                userParams.Role = userLogged.Role;
                if (!string.IsNullOrEmpty(userLogged.Manager_ID))
                {
                    userParams.Manager = userLogged.Manager_ID;
                }
            }

            var users = await repo.GetUsers(userParams);

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

            Response.AddPagination(users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages);

            if (!usersToReturn.Any())
            {
                return(NotFound());
            }
            return(Ok(usersToReturn));
        }