コード例 #1
0
        public async Task <IActionResult> Get([FromQuery] PagedRequestDto request)
        {
            var page     = request.GetSanitizedPage();
            var pageSize = request.GetSanitizedPageSize();

            var totalCount = await _userManager.Users.CountAsync();

            var users = await _userManager.Users.Skip((page - 1) *pageSize).Take(pageSize).ToArrayAsync();

            var responseUsers = await Task.WhenAll(users.Select(async user =>
            {
                var userDto   = _mapper.Map <UserDto>(user);
                userDto.Roles = (await _userManager.GetRolesAsync(user)).ToArray();
                return(userDto);
            }));

            return(Ok(new GetResponseDto()
            {
                Users = responseUsers,
                Meta = new MetaDto
                {
                    CurrentPage = page,
                    PageSize = pageSize,
                    TotalCount = totalCount,
                },
            }));
        }