42 lines
1017 B
C#
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);
|
|
}
|
|
}
|