コード例 #1
0
        public override async Task <PageModel <WordModel> > ExecuteAsync(GetWordsByDictionaryIdQuery query, CancellationToken cancellationToken = new CancellationToken())
        {
            using (var database = _databaseProvider.GetDatabaseForDictionary(query.DictionaryId))
            {
                var data = await database.Word
                           .Where(w => w.DictionaryId == query.DictionaryId)
                           .OrderBy(x => x.Title)
                           .Paginate(query.PageNumber, query.PageSize)
                           .ToListAsync(cancellationToken);

                return(new PageModel <WordModel>
                {
                    Data = data.Select(w => w.Map <Data.Entities.Word, WordModel>()),
                    CurrentPageIndex = query.PageNumber,
                    PageSize = query.PageSize,
                    PageCount = await database.Word
                                .CountAsync(w => w.DictionaryId == query.DictionaryId, cancellationToken)
                });
            }
        }
コード例 #2
0
 public override async Task <PageModel <WordModel> > ExecuteAsync(GetWordsByDictionaryIdQuery query, CancellationToken cancellationToken = new CancellationToken())
 {
     return(await _apiClient.Get <PageModel <WordModel> >($"api/dictionaries/{query.DictionaryId}/words?pageNumber={query.PageNumber}&pageSize={query.PageSize}"));
 }