/// <inheritdoc />
        public async Task <PointOfInterestExtended> GetPointOfInterestById(string id, string language, string type = null)
        {
            var feature = await _wikipediaGateway.GetById(id);

            var mainFeature = feature.Features.First();
            var poiItem     = await ConvertToPoiItem <PointOfInterestExtended>(mainFeature, language);

            await AddExtendedData(poiItem, mainFeature, language);

            poiItem.IsRoute = false;
            return(poiItem);
        }
Exemplo n.º 2
0
        public void GetPointOfInterestById_WrongLanguage_ShouldReturnNull()
        {
            var poiId    = "42";
            var language = "en";
            var feature  = GetValidFeature(poiId, _adapter.Source);

            feature.Attributes.AddAttribute(FeatureAttributes.POI_LANGUAGE, "he");
            var featureCollection = new FeatureCollection {
                Features = { feature }
            };

            _dataContainerConverterService.ToDataContainer(Arg.Any <byte[]>(), Arg.Any <string>()).Returns(new DataContainer {
                Routes = new List <RouteData>()
            });

            _wikipediaGateway.GetById(poiId).Returns(featureCollection);

            var results = _adapter.GetPointOfInterestById(poiId, language).Result;

            Assert.IsNull(results);
        }
Exemplo n.º 3
0
        /// <inheritdoc />
        public override async Task <PointOfInterestExtended> GetPointOfInterestById(string id, string language)
        {
            var featureCollection = await GetFromCacheIfExists(id);

            if (featureCollection == null)
            {
                featureCollection = await _wikipediaGateway.GetById(id);

                SetToCache(featureCollection);
            }

            var mainFeature = featureCollection.Features.First();

            if (!mainFeature.Attributes[FeatureAttributes.POI_LANGUAGE].Equals(language))
            {
                return(null);
            }
            var poiItem = await ConvertToPoiExtended(featureCollection, language);

            poiItem.IsRoute = false;
            return(poiItem);
        }
 /// <inheritdoc />
 public override Task <Feature> GetRawPointOfInterestById(string id)
 {
     return(_wikipediaGateway.GetById(id));
 }