public static PagedResult <TResult> ToPagedResult <TResult>(this IPagedCollection <TResult> pagedCollection, IUrlHelper urlHelper, string getRouteName) { Guard.NotNull(pagedCollection, nameof(pagedCollection)); Guard.NotNull(urlHelper, nameof(urlHelper)); Guard.NotNullOrWhitespace(getRouteName, nameof(getRouteName)); var result = new PagedResult <TResult>(pagedCollection.Page); if (pagedCollection.PageNumber > 1) { result.AddLink( LinkType.PreviousPage, urlHelper.Link(getRouteName, new PageParameters { PageNumber = pagedCollection.PageNumber - 1, PageSize = pagedCollection.PageSize }), "GET"); } if (pagedCollection.PageNumber < pagedCollection.TotalPages) { result.AddLink( LinkType.NextPage, urlHelper.Link(getRouteName, new PageParameters { PageNumber = pagedCollection.PageNumber + 1, PageSize = pagedCollection.PageSize }), "GET"); } return(result); }