コード例 #1
0
        //领域代码

        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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
            });
        }
コード例 #4
0
        public ActionResult GetList(BsTableRequestModel param)
        {
            var en = new ArticleCRUD(db);

            return(Json(en.GetList(param)));
        }