using LCU.Library.Internal.DispatcherModels.Models.Results; using System; using System.Collections.Generic; namespace LCU.Library.Internal.DispatcherModels.Models; 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; } }