コード例 #1
0
        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
            });
        }