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; } } } }