Ejemplo n.º 1
0
        public override Photo VisitPhoto(Photo photo, AnalyzerExecutionContext executionContext)
        {
            if (photo.Tag(Constants.Namespace, Constants.HashMetadataKey) == null)
            {
                var streamFeature = Source.Feature<IPhotoStreamFeature>();

                string value = null;

                using (var photoStream = streamFeature.GetStream(photo))
                {
                    value = CreateImageHash(photoStream);
                }

                var tag = new Tag(Constants.Namespace, Constants.HashMetadataKey, value);

                photo = photo.WithTag(tag);
            }

            return photo;
        }
Ejemplo n.º 2
0
        public override Photo VisitPhoto(Photo photo, AnalyzerExecutionContext executionContext)
        {
            var key = MakeRelativePath(_container.Id + Path.DirectorySeparatorChar, photo.Id);

            var containerJson = _meta.Where(x => _container.Id.StartsWith(x.Key)).Select(x => x.Value).FirstOrDefault();

            if (containerJson != null)
            {
                var photoJson = containerJson[key];

                if (photoJson != null)
                {
                    var tags = photoJson.Select(tagJson => new Tag(tagJson["ns"].ToString(), tagJson["name"].ToString(), tagJson["value"].ToString()));

                    foreach (var tag in tags)
                    {
                        photo = photo.WithTag(tag);
                    }
                }
            }

            return photo;
        }