//[Cached(600)] public async Task <ActionResult <IEnumerable <Post> > > GetAll([FromQuery] PaginationQuery query) { var pagination = mapper.Map <PaginationFilter>(query); var posts = await service.GetPosts(pagination); var postsResponse = mapper.Map <List <PostResponse> >(posts); if (pagination == null || pagination.PageNumber < 1 || pagination.PageSize < 1) { return(Ok(new PagedResponse <PostResponse>(postsResponse))); } var paginationResponse = PaginationHeplers.CreatePaginationResponse(uriService, pagination, postsResponse); return(Ok(paginationResponse)); //List<PostResponse> response = posts.Select(e => new PostResponse //{ // Id = e.Id, // UserId = e.UserId, // Name = e.Name, // Tags = e.Tags.Select(x => new TagResponse { Name = x.Name}) //}).ToList(); //var response = mapper.Map<List<PostResponse>>(posts); //return Ok(response); //Pagination response //return Ok(new Response<List<PostResponse>>(mapper.Map<List<PostResponse>>(response))); //return Ok(new PagedResponse<PostResponse>(mapper.Map<List<PostResponse>>(response))); }
public async Task <PagedPostResponse> GetPagedAsync(PaginationQuery paginationQuery) { var paginationFilter = new PaginationFilter { PageNumber = paginationQuery.PageNumber, PageSize = paginationQuery.PageSize }; var postsDto = await postAppService.GetPosts(); if (paginationFilter == null || paginationFilter.PageNumber < 1 || paginationFilter.PageSize < 1) { return(new PagedPostResponse(postsDto)); } var postInCurrentPage = await postAppService.GetPagedPosts(paginationFilter.PageNumber, paginationFilter.PageSize); var paginationResponse = PaginationHeplers.CreatePaginationResponse(uriService, paginationFilter, postInCurrentPage); return(paginationResponse); }