irc-netcore-api/IRaCIS.Core.Infrastructure/_IRaCIS/Output/PageOutput.cs

54 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.Linq;
namespace IRaCIS.Core.Infrastructure.Extention
{
/// <summary>
/// 分页信息输出 泛型
/// </summary>
public class PageOutput<T>
{
/// <summary>
/// 当前页索引
/// </summary>
public int PageIndex { get; set; }
/// <summary>
/// 每页的记录条数
/// </summary>
public int PageSize { get; set; }
/// <summary>
/// 数据总数
/// </summary>
public long TotalCount { get; set; } = 0;
/// <summary>
/// 数据
/// </summary>
public IList<T> CurrentPageData { get; set; }
public PageOutput()
{
}
public PageOutput(int pageIndex, int pageSize, long totalCount, IList<T> data)
{
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = totalCount;
CurrentPageData = data;
}
public PageOutput(int pageIndex, int pageSize, IQueryable<T> list)
{
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = list.Count();
CurrentPageData = list.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
}
}
}