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)); }
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, };
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); }
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), };