using Infrastructure.Attribute; using Infrastructure.Extensions; using ZR.LiveForum.Model.Liveforum.Dto; using ZR.LiveForum.Model.Liveforum; using ZR.Repository; using ZR.Service.Liveforum.ILiveforumService; namespace ZR.Service.Liveforum { /// /// 论坛帖子Service业务层处理 /// [AppService(ServiceType = typeof(IT_PostsService), ServiceLifetime = LifeTime.Transient)] public class T_PostsService : BaseService, IT_PostsService { /// /// 查询论坛帖子列表 /// /// /// public PagedInfo GetList(T_PostsQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() //.OrderBy("Id desc") .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public T_Posts GetInfo(long Id) { var response = Queryable() .Where(x => x.Id == Id) .First(); return response; } /// /// 添加论坛帖子 /// /// /// public T_Posts AddT_Posts(T_Posts model) { return Insertable(model).ExecuteReturnEntity(); } /// /// 修改论坛帖子 /// /// /// public int UpdateT_Posts(T_Posts model) { return Update(model, true, "修改论坛帖子"); } /// /// 导出论坛帖子 /// /// /// public PagedInfo ExportList(T_PostsQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) .Select((it) => new T_PostsDto() { //IsTopLabel = it.IsTop.GetConfigValue("liveforum_action_bool"), //StatusLabel = it.Status.GetConfigValue("liveforum_posts_status"), }, true) .ToPage(parm); return response; } /// /// 查询导出表达式 /// /// /// private static Expressionable QueryExp(T_PostsQueryDto parm) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(parm.UserId != null, it => it.UserId == parm.UserId); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Title), it => it.Title == parm.Title); predicate = predicate.AndIF(parm.Status != null, it => it.Status == parm.Status); predicate = predicate.AndIF(parm.IsDeleted != null, it => it.IsDeleted == parm.IsDeleted); return predicate; } } }