namespace OrpaonVision.Core.Results; /// /// 分页结果。 /// /// 数据项类型。 public sealed class PagedResult { /// /// 数据项列表。 /// public IReadOnlyList Items { get; init; } = []; /// /// 总记录数。 /// public int TotalCount { get; init; } /// /// 页码(从1开始)。 /// public int PageIndex { get; init; } /// /// 每页大小。 /// public int PageSize { get; init; } /// /// 总页数。 /// public int TotalPages => (int)Math.Ceiling((double)TotalCount / PageSize); /// /// 是否有上一页。 /// public bool HasPreviousPage => PageIndex > 1; /// /// 是否有下一页。 /// public bool HasNextPage => PageIndex < TotalPages; /// /// 创建成功的分页结果。 /// /// 数据项列表。 /// 总记录数。 /// 页码。 /// 每页大小。 /// 分页结果。 public static PagedResult Success(IReadOnlyList items, int totalCount, int pageIndex, int pageSize) { return new PagedResult { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageSize = pageSize }; } }