60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 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; }
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 分页数据 可能额外返回其他类型的查询数据  必须一些配置
 | |
|         /// </summary>
 | |
|         public object OtherData { 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();
 | |
|         }
 | |
| 
 | |
|       
 | |
|     }
 | |
| }
 |