/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; using SqlSugar; namespace CoreCms.Net.Repository { /// /// 服务项目表 接口实现 /// public class CoreCmsServicesRepository : BaseRepository, ICoreCmsServicesRepository { public CoreCmsServicesRepository(IUnitOfWork unitOfWork) : base(unitOfWork) { } /// /// 根据条件查询分页数据 /// /// 判断集合 /// 排序方式 /// 当前页面索引 /// 分布大小 /// /// public async Task> TagQueryPageAsync( Expression> predicate, Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20) { RefAsync totalCount = 0; var page = await DbClient.Queryable() .OrderByIF(orderByExpression != null, orderByExpression, orderByType) .WhereIF(predicate != null, predicate).Select(p => new CoreCmsServices { id = p.id, title = p.title, thumbnail = p.thumbnail, description = p.description, allowedMembership = p.allowedMembership, status = p.status, maxBuyNumber = p.maxBuyNumber, amount = p.amount, startTime = p.startTime, endTime = p.endTime, validityType = p.validityType, validityStartTime = p.validityStartTime, validityEndTime = p.validityEndTime, ticketNumber = p.ticketNumber, createTime = p.createTime, updateTime = p.updateTime, money = p.money }).ToPageListAsync(pageIndex, pageSize, totalCount); var list = new PageList(page, pageIndex, pageSize, totalCount); return list; } } }