using Mapster;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TFT_Model.Dto;
namespace TFT_BizService
{
///
/// 分页查询扩展
///
public static class QueryableExtension
{
///
/// 读取列表
///
///
/// 查询表单式
/// 分页参数
///
public static PagedInfo ToPage(this ISugarQueryable source, PagerInfo parm)
{
var page = new PagedInfo();
var total = 0;
page.PageSize = parm.PageSize;
page.PageIndex = parm.PageNum;
page.Result = source.OrderByIF(parm.Sort.IsNotEmpty(), $"{parm.Sort.ToSqlFilter()} {(parm.SortType.Contains("desc") ? "desc" : "asc")}")
.ToPageList(parm.PageNum, parm.PageSize, ref total);
page.TotalNum = total;
return page;
}
///
/// 转指定实体类Dto
///
///
///
///
///
///
public static PagedInfo ToPage(this ISugarQueryable source, PagerInfo parm)
{
var page = new PagedInfo();
var total = 0;
page.PageSize = parm.PageSize;
page.PageIndex = parm.PageNum;
var result = source
.OrderByIF(parm.Sort.IsNotEmpty(), $"{parm.Sort.ToSqlFilter()} {(parm.SortType.Contains("desc") ? "desc" : "asc")}")
.ToPageList(parm.PageNum, parm.PageSize, ref total);
page.TotalNum = total;
page.Result = result.Adapt>();
return page;
}
public static bool IsEmpty(this object value)
{
if (value != null && !string.IsNullOrEmpty(value.ParseToString()))
{
return false;
}
else
{
return true;
}
}
public static bool IsNotEmpty(this object value)
{
return !IsEmpty(value);
}
///
/// 将object转换为string,若转换失败,则返回""。不抛出异常。
///
///
///
public static string ParseToString(this object obj)
{
try
{
if (obj == null)
{
return string.Empty;
}
else
{
return obj.ToString();
}
}
catch
{
return string.Empty;
}
}
}
}