private void AddPreviousPageLink(ICreateLinks links, int page, int pageSize) { if (page > 0) { this.AddLink(new PreviousPageLink(links.Create(new { page = page - 1, pageSize }), "Previous Page")); } }
private void AddNextPageLink(ICreateLinks links, int page, int pageSize) { if (page < this.TotalPages - 1) { this.AddLink(new NextPageLink(links.Create(new { page = page + 1, pageSize }), "Next page")); } }
public ResourceCollection( ICreateLinks links, IEnumerable <T> results) { var enumerable = results as T[] ?? results.ToArray(); this.TotalCount = enumerable.Length; this.TotalPages = 1; this.CurrentPage = 0; this.PageSize = enumerable.Length; this.Results = enumerable; this.AddSelfLink(links, this.CurrentPage, this.PageSize); }
public ResourceCollection( ICreateLinks links, IEnumerable <T> results, int totalCount, int page = DefaultPage, int pageSize = MaxPageSize) { this.TotalCount = totalCount; this.TotalPages = (int)Math.Ceiling((double)this.TotalCount / pageSize); this.CurrentPage = page; this.PageSize = pageSize; this.Results = results; this.AddPreviousPageLink(links, page, pageSize); this.AddNextPageLink(links, page, pageSize); this.AddSelfLink(links, page, pageSize); }
private void AddSelfLink(ICreateLinks links, int page, int pageSize) { this.AddLink(new SelfLink(links.Create(new { page, pageSize }))); }