Files
pfm/PostFundManagement.Domain/Pagination.cs
T

42 lines
1017 B
C#

namespace PostFundManagement.Domain;
public sealed class Pagination
{
const int defaultPage = 1;
const int defaultPageSize = 100;
const long defaultIndex = 0;
public long Index { get; set; }
public int Page { get; set; }
public int PageSize { get; set; }
public Pagination()
{
Page = defaultPage;
PageSize = defaultPageSize;
Index = defaultIndex;
}
public Pagination(int page = defaultPage, int pageSize = defaultPageSize, long index = defaultIndex)
{
if (page < 1) page = defaultPage;
if (pageSize < 1 || pageSize > 100) pageSize = defaultPageSize;
Page = page;
PageSize = pageSize;
Index = index;
}
public static Pagination Create(int page = defaultPage, int pageSize = defaultPageSize, long index = defaultIndex)
{
if (page < 1) page = defaultPage;
if (pageSize < 1 || pageSize > 100) pageSize = defaultPageSize;
return new(page, pageSize, index);
}
}