namespace TakeoutSaaS.Shared.Abstractions.Results;
///
/// 分页结果包装,携带列表与总条数等元数据。
///
/// 数据类型。
///
/// 初始化分页结果。
///
public sealed class PagedResult(IReadOnlyList items, int page, int pageSize, int totalCount)
{
///
/// 数据列表。
///
public IReadOnlyList Items { get; } = items;
///
/// 当前页码,从 1 开始。
///
public int Page { get; } = page;
///
/// 每页条数。
///
public int PageSize { get; } = pageSize;
///
/// 总条数。
///
public int TotalCount { get; } = totalCount;
///
/// 总页数。
///
public int TotalPages { get; } = pageSize == 0 ? 0 : (int)Math.Ceiling(totalCount / (double)pageSize);
}