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); }
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> >("查询出错")); } }
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, "查询文章列表出错")); } }
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); }