public async Task <IActionResult> GetAllUsers([FromQuery] PaginationQuery paginationQuery, [FromQuery] UsersFilter filter)
        {
            var usersResponse = await _accountService.GetUsersAsync();

            if (paginationQuery is null || paginationQuery.PageSize < 1 || paginationQuery.PageNumber < 1)
            {
                return(Ok(new PagedResponse <UserModel>(usersResponse)));
            }

            usersResponse = await _accountService.GetUsersAsync(paginationQuery, filter);

            var paginationResponse = PaginationProvider.CreatePaginatedResponse(_uriService,
                                                                                $"api/{ControllerContext.ActionDescriptor.ControllerName}/{Constants.Routes.USERS_GET_ALL_ROUTE}",
                                                                                paginationQuery, filter, usersResponse);

            return(Ok(paginationResponse));
        }
        public async Task <IActionResult> GetAuthors([FromQuery] PaginationQuery paginationQuery, [FromQuery] AuthorFilter filter)
        {
            var authorResponse = await _authorService.GetAuthorsAsync();

            if (paginationQuery is null || paginationQuery.PageSize < 1 || paginationQuery.PageNumber < 1)
            {
                return(Ok(new PagedResponse <AuthorModel>(authorResponse)));
            }

            authorResponse = await _authorService.GetAuthorsAsync(paginationQuery, filter);

            var paginationResponse = PaginationProvider.CreatePaginatedResponse(_uriService,
                                                                                $"api/{ControllerContext.ActionDescriptor.ControllerName}/{Constants.Routes.AUTHORS_GET_ALL_ROUTE}",
                                                                                paginationQuery, filter,
                                                                                authorResponse);

            return(Ok(paginationResponse));
        }
Beispiel #3
0
        public async Task <IActionResult> GetEditions([FromQuery] PaginationQuery paginationQuery, [FromQuery] PrintingEditionFilter filter)
        {
            var editionsResponse = await _editionService.GetAllEditionsAsync();

            if (paginationQuery is null || paginationQuery.PageSize < 1 || paginationQuery.PageNumber < 1)
            {
                return(Ok(new PagedResponse <PrintingEditionModel>(editionsResponse)));
            }

            editionsResponse = await _editionService.GetAllEditionsAsync(paginationQuery, filter);

            var paginationResponse = PaginationProvider.CreatePaginatedResponse(_uriService,
                                                                                $"api/{ControllerContext.ActionDescriptor.ControllerName}/{Constants.Routes.EDITIONS_GET_ALL_ROUTE}",
                                                                                paginationQuery, filter,
                                                                                editionsResponse);


            return(Ok(paginationResponse));
        }