Пример #1
0
        public static ReadOnlyCollection <LinkDto> CreateLinks <TEntity>(
            this IUrlHelper urlHelper,
            string routeName,
            IParameters parameter,
            PagedListCollection <TEntity> pagedListCollection)
            where TEntity : BaseEntity
        {
            var links = new List <LinkDto>
            {
                urlHelper.CreateResourceUri(routeName, parameter, ResourceUriType.Current)
                .AddRelAndMethod(Rel.Self, WebRequestMethods.Http.Get),
            };

            if (pagedListCollection.HasNext)
            {
                links.Add(urlHelper.CreateResourceUri(routeName, parameter, ResourceUriType.NextPage)
                          .AddRelAndMethod(Rel.NextPage, WebRequestMethods.Http.Get));
            }

            if (pagedListCollection.HasPrevious)
            {
                links.Add(urlHelper.CreateResourceUri(routeName, parameter, ResourceUriType.PreviousPage)
                          .AddRelAndMethod(Rel.PreviousPage, WebRequestMethods.Http.Get));
            }

            return(new ReadOnlyCollection <LinkDto>(links));
        }
Пример #2
0
 public static BasePagination CreateBasePagination <TEntity>(this PagedListCollection <TEntity> pagedListCollection)
     where TEntity : BaseEntity =>
 new BasePagination
 {
     TotalCount  = pagedListCollection.TotalCount,
     PageSize    = pagedListCollection.PageSize,
     CurrentPage = pagedListCollection.CurrentPage,
     TotalPages  = pagedListCollection.TotalPages,
 };
Пример #3
0
        public void ReturnsPagedListCorrectPagination(int pageNumber, int pageSize, int totalCount, bool hasNext, bool hasPrevious, int totalPages)
        {
            var pagedList = new PagedListCollection <DummyEntity>(DummyList(), pageNumber, pageSize);

            Assert.Equal(pageSize, pagedList.PageSize);
            Assert.Equal(pageNumber, pagedList.CurrentPage);
            Assert.Equal(totalCount, pagedList.TotalCount);
            Assert.Equal(hasNext, pagedList.HasNext);
            Assert.Equal(hasPrevious, pagedList.HasPrevious);
            Assert.Equal(totalPages, pagedList.TotalPages);
        }
Пример #4
0
 public static HateoasPagination CreateHateoasPagination <TEntity>(
     this IUrlHelper urlHelper,
     string routeName,
     IParameters parameter,
     PagedListCollection <TEntity> pagedListCollection)
     where TEntity : BaseEntity =>
 new HateoasPagination
 {
     TotalCount   = pagedListCollection.TotalCount,
     CurrentPage  = pagedListCollection.CurrentPage,
     TotalPages   = pagedListCollection.TotalPages,
     PageSize     = pagedListCollection.PageSize,
     NextPage     = urlHelper.NextPage(routeName, parameter, pagedListCollection),
     PreviousPage = urlHelper.PreviousPage(routeName, parameter, pagedListCollection),
 };