public override async Task <PaginateUsersResponse> PaginateUsers(PaginateUsersRequest request, ServerCallContext context) { var options = new UserOptions { PageIndex = request.PageIndex, PageSize = request.PageSize, }; var roles = await _authorizationApp.GetUsersAsync(options); var items = roles.Items.Select(x => new PaginateUsersResponse.Types.User { Id = x.Id, UserName = x.UserName, Name = x.Name, DisplayName = x.DisplayName, IsEnabled = x.IsEnabled, }); var result = new PaginateUsersResponse { PageIndex = roles.PageIndex, PageSize = roles.PageSize, ItemCount = roles.ItemCount, }; result.Items.AddRange(items); return(result); }
public async Task <IActionResult> GetUsersAsync([FromQuery] PaginationOptions input) { var request = new PaginateUsersRequest { PageIndex = input.PageIndex, PageSize = input.PageSize }; var response = await _authorizationClient.PaginateUsersAsync(request); var result = new PaginationResult <UserSummary> { PageIndex = response.PageIndex, PageSize = response.PageSize, ItemCount = response.ItemCount, Items = response.Items .Select(x => new UserSummary { Id = x.Id, UserName = x.UserName, Name = x.Name, DisplayName = x.DisplayName, IsEnabled = x.IsEnabled, }) .ToList(), }; return(Ok(result)); }