Ejemplo n.º 1
0
        public virtual async Task <ActionResult> ListAjax(ArticleSearchRequest request)
        {
            var viewModel = await _articleService.GetPagedListAsync(request);

            if (viewModel.Articles == null || !viewModel.Articles.Any())
            {
                return(Content("no-more-info"));
            }
            return(PartialView(MVC.Article.Views._ListAjax, viewModel));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 分页获取
        /// for admin
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <JsonResultModel <ArticleInfo> > GetPageList(ArticleSearchRequest request)
        {
            var exp = Expressionable.Create <ArticleInfo>().AndIF(request.IsPublished.HasValue, it => it.IsPublished == request.IsPublished);

            if (string.IsNullOrEmpty(request.StartTime))
            {
                request.StartTime = "1970-01-01";
            }
            if (string.IsNullOrEmpty(request.EndTime))
            {
                request.EndTime = DateTime.MaxValue.ToString();
            }
            exp.AndIF(true, it => it.CreateTime >= request.StartTime.ObjToDate() && it.CreateTime <= request.EndTime.ObjToDate());
            return(await base.GetPageList(request, exp.ToExpression()));
        }
Ejemplo n.º 3
0
        public async Task <ArticleListViewModel> GetPagedListAsync(ArticleSearchRequest request)
        {
            var articles =
                _articles.Where(a => a.ApplicantId == request.ApplicantId)
                .Include(a => a.CreatedBy)
                .Include(a => a.ModifiedBy)
                .AsNoTracking()
                .OrderByDescending(a => a.PublicatedOn)
                .AsQueryable();

            var selectedArticles = articles.ProjectTo <ArticleViewModel>(_mappingEngine);
            var resultsToSkip    = (request.PageIndex - 1) * 5;
            var query            = await selectedArticles
                                   .Skip(() => resultsToSkip)
                                   .Take(5)
                                   .ToListAsync();

            return(new ArticleListViewModel {
                SearchRequest = request, Articles = query
            });
        }
Ejemplo n.º 4
0
 public async Task <JsonResultModel <ArticleInfo> > GetPageList([FromQuery] ArticleSearchRequest request)
 {
     return(await _articleBusiness.GetPageList(request));
 }
 public GetArticlesAction(ArticleSearchRequest searchRequest, bool isFeed = false) =>
 (SearchRequest, IsFeed) = (searchRequest, isFeed);