first commit
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
using JSMachine.WMS.Domain.IRepository;
|
||||
using JSMachine.WMS.Domain.Repository;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace JSMachine.WMS.Domain.Entity
|
||||
{
|
||||
/// <summary>
|
||||
/// 通用分页查询结果,封装分页统计信息和当前页数据。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">页数据的元素类型。</typeparam>
|
||||
public class PagedResult<T>
|
||||
{
|
||||
public static readonly PagedResult<T> EmptyPagedResult = new PagedResult<T>(0, 0, 0, 0, null);
|
||||
|
||||
#region Public Properties
|
||||
/// <summary>
|
||||
/// 总记录数
|
||||
/// </summary>
|
||||
public int TotalRecords { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总页数
|
||||
/// </summary>
|
||||
public int TotalPages { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 每页的记录数
|
||||
/// </summary>
|
||||
public int PageSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前页码
|
||||
/// </summary>
|
||||
public int PageNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置当前页码的记录
|
||||
/// </summary>
|
||||
public List<T> PageData { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建空的分页结果,页数据初始化为空集合。
|
||||
/// </summary>
|
||||
public PagedResult()
|
||||
{
|
||||
this.PageData = new List<T>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 使用完整分页统计信息创建结果。
|
||||
/// </summary>
|
||||
/// <param name="totalRecords">符合条件的总记录数。</param>
|
||||
/// <param name="totalPages">总页数。</param>
|
||||
/// <param name="pageSize">每页记录数。</param>
|
||||
/// <param name="pageNumber">当前页码。</param>
|
||||
/// <param name="data">当前页数据。</param>
|
||||
public PagedResult(int totalRecords, int totalPages, int pageSize, int pageNumber, List<T> data)
|
||||
{
|
||||
this.TotalPages = totalPages;
|
||||
this.TotalRecords = totalRecords;
|
||||
this.PageSize = pageSize;
|
||||
this.PageNumber = pageNumber;
|
||||
this.PageData = data;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据总记录数和分页参数计算总页数并创建结果。
|
||||
/// </summary>
|
||||
/// <param name="totalRecords">符合条件的总记录数。</param>
|
||||
/// <param name="pageSize">每页记录数。</param>
|
||||
/// <param name="pageNumber">当前页码。</param>
|
||||
/// <param name="data">当前页数据。</param>
|
||||
public PagedResult(int totalRecords, int pageSize, int pageNumber, List<T> data)
|
||||
{
|
||||
if (pageSize > 0)
|
||||
{
|
||||
this.TotalPages = totalRecords % pageSize == 0 ? totalRecords / pageSize : totalRecords / pageSize + 1;
|
||||
}
|
||||
|
||||
this.TotalRecords = totalRecords;
|
||||
this.PageSize = pageSize;
|
||||
this.PageNumber = pageNumber;
|
||||
this.PageData = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user