public static PagedResponse <T> CreatePaginatedResponse <T>(IUriService uriService, PaginationFilter pagination, List <T> response) { var nextPage = pagination.PageNumber >= 1 ? uriService.GetAllUsersUri(new PaginationQuery(pagination.PageNumber + 1, pagination.PageSize)).ToString() : null; var previousPage = pagination.PageNumber - 1 >= 1 ? uriService.GetAllUsersUri(new PaginationQuery(pagination.PageNumber - 1, pagination.PageSize)).ToString() : null; return(new PagedResponse <T> { Data = response, PageNumber = pagination.PageNumber >= 1 ? pagination.PageNumber : (int?)null, PageSize = pagination.PageSize >= 1 ? pagination.PageSize : (int?)null, NextPage = response.Count == pagination.PageSize ? nextPage : null, PreviousPage = previousPage }); }
public static PagedResponse <T> BuildPaginatedResponse <T>(IUriService <IPagination> uriService, IPagination paginationQuery, IEnumerable <T> data) { var nextPage = paginationQuery.PageNumber >= 1 ? uriService.GetAllUsersUri(new PaginationQuery(paginationQuery.PageNumber + 1, paginationQuery.PageSize)).ToString() : null; var previousPage = paginationQuery.PageNumber - 1 >= 1 ? uriService.GetAllUsersUri(new PaginationQuery(paginationQuery.PageNumber - 1, paginationQuery.PageSize)).ToString() : null; var pagedResponse = new PagedResponse <T> { Data = data, PageNumber = paginationQuery.PageNumber >= 1 ? paginationQuery.PageNumber : (int?)null, PageSize = paginationQuery.PageSize >= 1 ? paginationQuery.PageNumber : (int?)null, NextPage = data.Any() ? nextPage : null, PreviousPage = previousPage }; return(pagedResponse); }