Files
HTCloud/HT.Cloud.Data/Extensions/SqlSugarExtensions.cs
2023-03-03 16:07:50 +08:00

59 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*******************************************************************************
* 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
{
/// <summary>
/// sqlsugar相关扩展
/// </summary>
public static class SqlSugarExtensions
{
public static async Task<List<T>> ToPageListAsync<T>(this ISugarQueryable<T> query, SoulPage<T> pagination)
{
var tempData = query;
List<FilterSo> 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<int> totalCount = 0;
var data = await tempData.ToPageListAsync(pagination.page, pagination.rows, totalCount);
pagination.count = totalCount;
return data;
}
public static async Task<List<T>> ToPageListAsync<T>(this ISugarQueryable<T> query, Pagination pagination)
{
var tempData = query;
RefAsync<int> 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;
}
}
}