using Infrastructure.Attribute; using Infrastructure.Extensions; using DOAN.Model; using DOAN.Model.Content; using DOAN.Model.Content.Dto; using DOAN.Repository; using DOAN.Service.Content.IService; namespace DOAN.Service.Content { /// /// 文章目录Service业务层处理 /// [AppService(ServiceType = typeof(IArticleCategoryService), ServiceLifetime = LifeTime.Transient)] public class ArticleCategoryService : BaseService, IArticleCategoryService { /// /// 查询文章目录列表 /// /// /// public PagedInfo GetList(ArticleCategoryQueryDto parm) { var predicate = Expressionable.Create(); predicate.AndIF(parm.CategoryType != null, m => m.CategoryType == parm.CategoryType); predicate.AndIF(parm.ParentId != null, m => m.ParentId == parm.ParentId); var response = Queryable() .Where(predicate.ToExpression()) .WithCache(60 * 5) .ToPage(parm); return response; } /// /// 查询文章目录树列表 /// /// /// public List GetTreeList(ArticleCategoryQueryDto parm) { var predicate = Expressionable.Create(); predicate.AndIF(parm.CategoryType != null, m => m.CategoryType == parm.CategoryType); var response = Queryable() .Where(predicate.ToExpression()); if (parm.Sort.IsNotEmpty()) { response = response.OrderByPropertyName(parm.Sort, parm.SortType.Contains("desc") ? OrderByType.Desc : OrderByType.Asc); } return response.ToTree(it => it.Children, it => it.ParentId, 0); ; } /// /// 添加文章目录 /// /// /// public int AddArticleCategory(ArticleCategory parm) { var response = Add(parm); return response; } } }