/*******************************************************************************
* Copyright © 2020 HT.Cloud.Framework 版权所有
* Author: HT.Cloud
* Description: WaterCloud快速开发平台
* Website:
*********************************************************************************/
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
using HT.Cloud.Code;
namespace HT.Cloud.DataBase
{
///
/// sqlsugar相关扩展
///
public static class SqlSugarExtensions
{
public static async Task> ToPageListAsync(this ISugarQueryable query, SoulPage pagination)
{
var tempData = query;
List filterSos = pagination.getFilterSos();
if (filterSos != null && filterSos.Count > 0)
{
tempData = tempData.GenerateFilter("a", filterSos);
}
if (pagination.order == "desc")
{
tempData = tempData.OrderBy(pagination.field + " " + pagination.order);
}
else
{
tempData = tempData.OrderBy(pagination.field);
}
RefAsync totalCount = 0;
var data = await tempData.ToPageListAsync(pagination.page, pagination.rows, totalCount);
pagination.count = totalCount;
return data;
}
public static async Task> ToPageListAsync(this ISugarQueryable query, Pagination pagination)
{
var tempData = query;
RefAsync totalCount = 0;
if (pagination.order == "desc")
{
tempData = tempData.OrderBy(pagination.field + " " + pagination.order);
}
else
{
tempData = tempData.OrderBy(pagination.field);
}
var data = await tempData.ToPageListAsync(pagination.page, pagination.rows, totalCount);
pagination.records = totalCount;
return data;
}
}
}