//领域代码 public List <Expression <Func <Article, bool> > > GetListPredicate(BsTableRequestModel param) { var expressionList = Express.GetExpressionList <Article>(); if (!string.IsNullOrWhiteSpace(param.search)) { expressionList.Add(m => m.Title.Contains(param.search)); } if (param.searches != null) { if (param.searches.ContainsKey("categoryId")) { int cate = -1; Int32.TryParse(param.searches["categoryId"], out cate); if (cate > 0) { expressionList.Add(m => m.CategoryId == cate); } } } return(expressionList); }
public BsTableResponseModel <ArticleListDto> GetList(BsTableRequestModel param) { var model = new BsTableResponseModel <ArticleListDto>(); var lamList = new List <Expression <Func <Article, bool> > >(); if (!string.IsNullOrWhiteSpace(param.search)) { lamList.Add(m => m.Title.Contains(param.search)); } lamList.Add(m => m.Status == 1); // var typeId = ComHelper.Str2Int(param.searches["typeId"]); // if (typeId != 0) lamList.Add(m => m.Type == typeId); var count = 0; var lam = AmayerHelper.BulidExpression(lamList); // List(int offset, int limit, out int count, string orderBy) var list = List(lam, param.offset, param.limit, out count, "").ToList(); model.total = count; model.rows = PutTogether(list); return(model); }
public async Task <BsTableResponseModel <ArticleListDto> > PagedArticlesAsync(BsTableRequestModel param) { //文章摘要 var predicate = _articleManage.GetListPredicate(param); var query = _articleRepositoryAsNoTrack.WhereParam(predicate); var count = 0; var listDtos = await Task.Run(() => { count = query.Count(); return(query .OrderByDescending(m => m.Id) .Skip(param.offset) .Take(param.limit).MapTo <List <ArticleListDto> >()); }); //文章分类 //var cateIds = listDtos.Select(m => m.CategoryId).ToList(); //var cateList = _categoryRespository.GetAllList(m => m.Type ==(int)EnumCategoryType.文章); //文章分支 var ids = listDtos.Select(m => m.Id).ToList(); var articleDetailList = _articleDetailRepository.GetAllList(m => ids.Contains(m.ArticleId)).Select(m => new ArticleListDto_Detail { Id = m.Id, IsDefault = m.IsDefault, }); //组合 foreach (var item in listDtos) { //item.CategoryName = cateList.FirstOrDefault(m => m.Id == item.CategoryId)?.Name; item.ArticleDetail = articleDetailList.Where(m => m.ArticleId == item.Id).ToList(); } return(new BsTableResponseModel <ArticleListDto>() { rows = listDtos, total = count }); }
public ActionResult GetList(BsTableRequestModel param) { var en = new ArticleCRUD(db); return(Json(en.GetList(param))); }