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) }); } }
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}")); }