public async Task <PagedResult <UserDto> > Get([Required][FromQuery] PagingParams pagingParams)
        {
            var list = new List <UserDto>();

            foreach (var applicationUser in _userManager.Users.Skip(pagingParams.Skip).Take(pagingParams.Take))
            {
                var userDto = await CreateUserDto(applicationUser, _userManager);

                list.Add(userDto);
            }

            var pagedResult = new PagedResult <UserDto>(list, pagingParams.Skip, pagingParams.Take, _userManager.Users.Count());

            Response.Headers.Add("X-Pagination", pagedResult.GetHeader().ToJson());

            return(pagedResult);
        }
        public async Task <PagedResult <ClientDto> > Get([Required][FromQuery] PagingParams pagingParams)
        {
            var list = new List <ClientDto>();

            var clients = (await _ospClientStore.GetClients()).ToArray();

            foreach (var applicationUser in clients.Skip(pagingParams.Skip).Take(pagingParams.Take))
            {
                var clientDto = CreateClientDto(applicationUser);
                list.Add(clientDto);
            }

            var pagedResult = new PagedResult <ClientDto>(list, pagingParams.Skip, pagingParams.Take, clients.Count());

            Response.Headers.Add("X-Pagination", pagedResult.GetHeader().ToJson());

            return(pagedResult);
        }
        public async Task <IActionResult> Get([FromQuery] PagingParams pagingParams)
        {
            using var session = await _ospService.SystemContext.StartSystemSessionAsync();

            session.StartTransaction();

            var result = await _ospService.SystemContext.GetTenantsAsync(session, pagingParams?.Skip, pagingParams?.Take);

            if (pagingParams != null)
            {
                var pagedResult = new PagedResult <TenantDto>(result.List.Select(CreateTenantDto),
                                                              pagingParams.Skip, pagingParams.Take, result.TotalCount);

                Response.Headers.Add("X-Pagination", pagedResult.GetHeader().ToJson());

                return(Ok(pagedResult));
            }

            await session.CommitTransactionAsync();

            return(Ok(result.List.Select(CreateTenantDto)));
        }
Exemple #4
0
        public PagedResult <RoleDto> Get([Required][FromQuery] PagingParams pagingParams)
        {
            var list = new List <RoleDto>();

            var query = _roleManager.Roles.AsQueryable();

            if (!string.IsNullOrWhiteSpace(pagingParams.Filter))
            {
                query = _roleManager.Roles.Where(x => x.Name.ToLower().Contains(pagingParams.Filter.ToLower()));
            }

            foreach (var ospRole in query.Skip(pagingParams.Skip).Take(pagingParams.Take))
            {
                var roleDto = CreateRoleDto(ospRole);
                list.Add(roleDto);
            }

            var pagedResult = new PagedResult <RoleDto>(list, pagingParams.Skip, pagingParams.Take, query.Count());

            Response.Headers.Add("X-Pagination", pagedResult.GetHeader().ToJson());

            return(pagedResult);
        }