public override async Task <GetMeaningForWordRequest> HandleAsync(GetMeaningForWordRequest command, CancellationToken cancellationToken = new CancellationToken()) { var query = new GetMeaningsByWordIdQuery { DictionaryId = command.DictionaryId, WordId = command.WordId }; var result = await _queryProcessor.ExecuteAsync(query, cancellationToken); command.Result = result.Select(x => _meaningRenderer.Render(x, command.DictionaryId)); return(await base.HandleAsync(command, cancellationToken)); }
public override async Task <IEnumerable <MeaningModel> > ExecuteAsync(GetMeaningsByWordIdQuery query, CancellationToken cancellationToken = new CancellationToken()) { using (var database = _databaseProvider.GetDatabaseForDictionary(query.DictionaryId)) { var meanings = await database.Meaning .Where(t => t.WordId == query.WordId) .ToListAsync(cancellationToken); return(meanings.Select(m => m.Map <Meaning, MeaningModel>())); } }
public override async Task <IEnumerable <MeaningModel> > ExecuteAsync(GetMeaningsByWordIdQuery query, CancellationToken cancellationToken = new CancellationToken()) { return(await _apiClient.Get <IEnumerable <MeaningModel> >($"api/dictionaries/{query.DictionaryId}/words/{query.WordId}/meanings")); }