public async Task <DataSourceQueryResult> Handle(GetDataSourceQuery request, CancellationToken cancellationToken)
        {
            var datasource = await _dataSourceQueryRepository.Get(new string[] { request.DataSourceId }, cancellationToken);

            if (!datasource.Any())
            {
                _logger.LogError($"the datasource {request.DataSourceId} doesn't exist");
                throw new NewsAggregatorResourceNotFoundException(string.Format(Global.DataSourceDoesntExist, request.DataSourceId));
            }

            return(datasource.First());
        }
        public async Task <SearchQueryResult <ArticleQueryResult> > Handle(SearchArticlesInDataSourceQuery request, CancellationToken cancellationToken)
        {
            var dataSource = await _dataSouceQueryRepository.Get(new List <string> {
                request.DataSourceId
            }, cancellationToken);

            if (dataSource == null)
            {
                _logger.LogError($"the datasource {request.DataSourceId} doesn't exist");
                throw new NewsAggregatorResourceNotFoundException(string.Format(Global.DataSourceDoesntExist, request.DataSourceId));
            }

            return(await _articleQueryRepository.SearchInDataSource(new SearchArticlesInDataSourceParameter
            {
                Count = request.Count,
                DataSourceId = request.DataSourceId,
                Direction = request.Direction,
                Order = request.Order,
                StartIndex = request.StartIndex,
                UserId = request.UserId
            }, cancellationToken));
        }
Beispiel #3
0
 public Task <IEnumerable <DataSourceQueryResult> > Handle(GetDataSourcesQuery request, CancellationToken cancellationToken)
 {
     return(_dataSourceQueryRepository.Get(request.DataSourceIds, cancellationToken));
 }