public static Pagination <T> CreatePaginatedResponse <T, K>(IUriService uriService, ArticlePaginationQuery paginationQuery, ICollection <T> response, ICollection <K> allArticles, string specificUrl, ArticleQuery query) { var totalPages = Math.Ceiling((double)allArticles.Count / paginationQuery.PageSize); var nextPage = (paginationQuery.PageNumber >= 1 && paginationQuery.PageNumber < totalPages) ? uriService.GetAllPostUri(specificUrl, new ArticlePaginationQuery() { PageNumber = paginationQuery.PageNumber + 1, PageSize = paginationQuery.PageSize }, query).ToString() : null; var previousPage = paginationQuery.PageNumber - 1 >= 1 ? uriService.GetAllPostUri(specificUrl, new ArticlePaginationQuery() { PageNumber = paginationQuery.PageNumber - 1, PageSize = paginationQuery.PageSize }, query).ToString() : null; var paginationResponse = new Pagination <T> { Data = response.AsEnumerable(), PageNumber = paginationQuery.PageNumber >= 1 ? paginationQuery.PageNumber : (int?)null, PageSize = paginationQuery.PageSize >= 1 ? paginationQuery.PageSize : (int?)null, NextPage = response.Any() ? nextPage : null, PreviousPage = previousPage, TotalPages = totalPages }; return(paginationResponse); }
public static PagedResponse <T> CreatePaginatedResponse <T>(IUriService uriService, PaginationFilter paginationFilter, List <T> elements) { string nextPage = paginationFilter.PageNumber >= 1 ? uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber + 1, paginationFilter.PageSize)).ToString() : null; string previousPage = paginationFilter.PageNumber - 1 >= 1 ? uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber - 1, paginationFilter.PageSize)).ToString() : null; return(new PagedResponse <T> { Data = elements, PageNumber = paginationFilter.PageNumber >= 1 ? paginationFilter.PageNumber : (int?)null, PageSize = paginationFilter.PageSize >= 1 ? paginationFilter.PageSize : (int?)null, NextPage = elements.Count != 0 ? nextPage : null, PreviousPage = previousPage }); }
public static PaginationResponse <T> CreatePaginatedResponse <T>(IUriService uriService, PaginationFilter pagination, List <T> response) { var nextPage = pagination.PageNumber >= 1 ? uriService.GetAllPostUri(new PaginationQuery(pagination.PageNumber + 1, pagination.PageSize)).ToString() : null; var previousPage = pagination.PageNumber - 1 >= 1 ? uriService.GetAllPostUri(new PaginationQuery(pagination.PageNumber - 1, pagination.PageSize)).ToString() : null; return(new PaginationResponse <T> { Data = response, PageNumber = pagination.PageNumber >= 1 ? pagination.PageNumber : (int?)null, PageSize = pagination.PageSize >= 1 ? pagination.PageSize : (int?)null, NextPage = response.Any() ? nextPage : null, PreviousPage = previousPage }); }
public static Paged <T> CreatePaginationResponse <T>(IUriService _uriService, PaginationQuery pagination, List <T> response) { var nextPage = pagination.PageNumber >= 1 ? _uriService.GetAllPostUri(new PaginationQuery(pagination.PageNumber + 1, pagination.PageSize)).ToString() : null; var previousPage = pagination.PageNumber - 1 >= 1 ? _uriService.GetAllPostUri(new PaginationQuery(pagination.PageNumber - 1, pagination.PageSize)).ToString() : null; return(new Paged <T>() { Data = response, PageNumber = pagination.PageSize >= 1 ? pagination.PageNumber : (int?)null, PageSize = pagination.PageSize >= 1 ? pagination.PageSize : (int?)null, TotalRecords = response.Count(), Next = response.Any() ? nextPage : null, Previous = previousPage }); }
public static PaginationResponse <T> CreateResponse <T>(IUriService uriService, List <T> postsResponse, PaginationFilter paginationFilter) { var prevPath = paginationFilter.PageNumber > 1 ? uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber - 1, paginationFilter.PageSize)).ToString() : null; var nextPath = uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber + 1, paginationFilter.PageSize)) .ToString(); return(new PaginationResponse <T> { Data = postsResponse, PageSize = paginationFilter.PageSize, PageNumber = paginationFilter.PageNumber, PreviousPage = prevPath, NextPage = postsResponse.Any() ? nextPath : null }); }
public static object CreatePaginationResponse <T>(IUriService uriService, PaginationFilter paginationFilter, List <T> posts) { var nextPage = paginationFilter.PageNumber >= 1 ? uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber + 1, paginationFilter.PageSize)).ToString() : null; var previousPage = paginationFilter.PageNumber - 1 >= 1 ? uriService.GetAllPostUri(new PaginationQuery(paginationFilter.PageNumber - 1, paginationFilter.PageSize)).ToString() : null; var paginationResponse = new PagedResponse <T> { Data = posts, PageNumber = paginationFilter.PageNumber >= 1 ? paginationFilter.PageNumber : (int?)null, PageSize = paginationFilter.PageSize >= 1 ? paginationFilter.PageSize : (int?)null, NextPage = posts.Any() ? nextPage : null, PreviousPage = previousPage }; return(paginationResponse); }