Ejemplo n.º 1
0
        public async Task OnGetAsync()
        {
            var queryContext = new ListArticlesQueryContext();

            queryContext.Source        = QuerySource.Common;
            queryContext.Page          = 1;
            queryContext.PageSize      = 20;
            queryContext.OnlyPublished = true;

            var rows = (await _service.ListArticlesAsync(queryContext)).Rows;

            Articles = _mapper.Map <List <ArticleDto> >(rows);
        }
Ejemplo n.º 2
0
        public async Task <ResultModel <Paging <ArticleDto> > > List([FromQuery] ListArticlesQueryContext queryContext)
        {
            try
            {
                queryContext.Source = QuerySource.Admin;
                var Articles = await _articleService.ListArticlesAsync(queryContext);

                var ArticleDtos = _mapper.MapPaging <Article, ArticleDto>(Articles);
                return(Success <Paging <ArticleDto> >(ArticleDtos));
            }
            catch (Exception ex)
            {
                LogException(ex, $"查询列表出错, query: {JsonSerializer.Serialize(queryContext)}");
                return(Fail <Paging <ArticleDto> >("查询出错"));
            }
        }
Ejemplo n.º 3
0
        public async Task <ResultModel <Paging <ArticleDto> > > List([FromQuery] ListArticlesQueryContext queryContext)
        {
            try
            {
                queryContext.Source = QuerySource.Common;
                var articles = await _articleService.ListArticlesAsync(queryContext);

                Paging <ArticleDto> articleDtos = articles.MapTo <ArticleDto>(_mapper);
                return(Success(articleDtos));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"查询文章列表出错, query: {SerializeToJson(queryContext)}");
                return(Fail <Paging <ArticleDto> >(ex, "查询文章列表出错"));
            }
        }
Ejemplo n.º 4
0
        public async Task <Paging <Article> > ListArticlesAsync(ListArticlesQueryContext queryContext)
        {
            queryContext.CheckPermissions();

            var result = new Paging <Article>();

            var Query = db.Articles.AsNoTracking();

            if (!string.IsNullOrEmpty(queryContext.Keyword))
            {
                Query = Query
                        .Where(a => a.Title.Contains(queryContext.Keyword) || a.Author.Contains(queryContext.Keyword));
            }

            if (queryContext.OnlyPublished)
            {
                Query = Query.Where(a => a.IsPublished == true);
            }

            Query = Query.OrderByDescending(a => a.CreateTime);

            result.Total = await Query.CountAsync();

            Query = Query.Paging(queryContext);

            //result.Rows = await Query.Select(a => new ArticleDto()
            //{
            //    Id = a.Id,
            //    Abstract = a.Abstract,
            //    Title = a.Title,
            //    Author = a.Author,
            //    Content = a.Content,
            //    SavePath = a.SavePath,
            //    LastEditTime = a.LastEditTime
            //}).ToListAsync();

            result.Rows = await Query.ToListAsync();

            return(result);
        }