public static PagedResponse <T> CreatePaginatedResponse <T>(IUriService uriService, PaginationFilter paginationFilter, List <T> reponse) { if (paginationFilter == null || paginationFilter.Page < 1 || paginationFilter.Size < 1) { return(new PagedResponse <T> { Data = reponse }); } var nextPage = paginationFilter.Size >= 1 ? uriService.GetAllDonorsUri(new PaginationFilter(paginationFilter.Page + 1, paginationFilter.Size)).ToString() : null; var previousPage = paginationFilter.Size - 1 >= 1 ? uriService.GetAllDonorsUri(new PaginationFilter(paginationFilter.Page - 1, paginationFilter.Size)).ToString() : null; return(new PagedResponse <T> { Data = reponse, PageNumber = paginationFilter.Page >= 1 ? paginationFilter.Page : (int?)null, PageSize = paginationFilter.Size >= 1 ? paginationFilter.Size : (int?)null, NextPage = reponse.Any() ? nextPage : null, PreviousPage = previousPage }); }