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); } }