using System; using System.Collections.Generic; namespace LCU.Library.Internal.DocumentIngestorModels.Models.Pagination { public class PagedResponse where T: class { public PagedResponse() { } public PagedResponse(PagedResult pagedResult, Filter filter) { TotalItems = pagedResult.Total; Items = pagedResult.Items; TotalPages = pagedResult.Total == 0 ? 1 : (int)Math.Ceiling((decimal)pagedResult.Total / filter.Limit); CurrentPage = filter.Page > this.TotalPages ? this.TotalPages : filter.Page; if (pagedResult.Total > (filter.Page * filter.Limit)) { NextPage = filter.Page + 1; } if (filter.Page > 1) { PreviousPage = filter.Page - 1; } } public IEnumerable Items { get; set; } public int NextPage { get; set; } public int PreviousPage { get; set; } public int TotalItems { get; set; } public int CurrentPage { get; set; } public int TotalPages { get; set; } } }