Files
2026-03-25 14:50:13 -05:00

33 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
namespace LCU.Library.Internal.DocumentIngestorModels.Models.Pagination
{
public class PagedResponse<T> where T: class
{
public PagedResponse() { }
public PagedResponse(PagedResult<T> 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<T> 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; }
}
}