コード例 #1
0
        /// <summary>
        /// 首页
        /// </summary>
        /// <param name="keyword"></param>
        /// <returns></returns>
        public IActionResult Index([FromQuery] NewsSearchView search, int pageIndex = 1)
        {
            if (search == null)
            {
                search = new NewsSearchView();
            }
            search.CategoryId = Request.Query["nid"];
            var    cateInfo = _NewsCategoryService.GetCate(search.CategoryId);
            string parentId = null;

            if (cateInfo != null)
            {
                parentId = cateInfo.ParentId ?? cateInfo.Code;
            }

            var books = _NewsService.GetNewsList(search, pageIndex, PageSize);

            ViewBag.CateList = _NewsCategoryService.GetCateList(search.CategoryId, null, true);
            ViewBag.HotNews  = _NewsService.GetTopNewss(NewsTopEnum.HotNews, PageSize);
            ViewBag.CateInfo = cateInfo;
            if (cateInfo != null)
            {
                AddPageCrumbs(cateInfo.Text);
            }
            return(View(books));
        }
コード例 #2
0
        /// <summary>
        /// 文章分页
        /// </summary>
        /// <param name="keyword"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public PagedList <News> GetList(NewsSearchView searchView, int pageIndex = 1, int pageSize = 20)
        {
            var expression = base.GetFilterEnabled();

            if (!string.IsNullOrEmpty(searchView.Keyword))
            {
                expression = expression.And(t => t.Title.Contains(searchView.Keyword));
                expression = expression.Or(t => t.Description.Contains(searchView.Keyword));
            }
            //expression = expression.And(t => t.CategoryId == 2);
            return(_Respository.GetPagedList(expression, pageIndex, pageSize));
        }
コード例 #3
0
        public ActionResult GetGridJson(NewsSearchView searchView, int page = 1)
        {
            var data = _NewsService.GetNewsList(searchView, page, PageSize);

            data.ForEach(da => {
                da.Description = RegexRegular.CheckMathLength(RegexRegular.NoHTML(da.Description), 20);
            });
            return(Content(new
            {
                rows = data,
                total = data.PageCount,
                page = data.PageIndex,
                records = data.TotalCount
            }.ToJson()));
        }
コード例 #4
0
        public PagedList <NewsDetailView> GetNewsList(NewsSearchView searchView, int pageIndex, int pageSize)
        {
            var expression = base.GetFilterEnabled();

            if (!searchView.Keyword.IsEmpty())
            {
                expression = expression.And(t => t.Title.Contains(searchView.Keyword) ||
                                            t.Description.Contains(searchView.Keyword) ||
                                            t.ShortTitle.Contains(searchView.Keyword));
            }

            if (!searchView.Title.IsEmpty())
            {
                expression = expression.And(t => t.Title.Contains(searchView.Title));
            }

            if (!searchView.CategoryId.IsEmpty())
            {
                expression = expression.And(t => t.CategoryId == searchView.CategoryId);
            }

            if (searchView.StartDate.HasValue)
            {
                expression = expression.And(t => t.CreatorTime >= searchView.StartDate);
            }
            if (searchView.EndDate.HasValue)
            {
                expression = expression.And(t => t.CreatorTime <= searchView.EndDate);
            }

            //expression = expression.And(t => t.CategoryId == 2);
            return(_Respository.GetPagedList(
                       u => new NewsDetailView
            {
                Id = u.Id,
                Title = u.Title,
                CoverUrl = u.CoverUrl,
                ShortTitle = u.ShortTitle,
                Description = u.Description,
                Attachment = u.Attachment,
                CategoryId = u.CategoryId,
                Category = u.NewsCategory.Title,
                ReadCount = u.ReadCount,
                ResourceUrl = u.ResourceUrl,
                CreatorTime = u.CreatorTime
            }
                       , expression, pageIndex, pageSize, o => o.OrderBy(t => t.CreatorTime), "NewsCategory"));
        }