public override Photo VisitPhoto(Photo photo, AnalyzerExecutionContext executionContext) { var tag = photo.Tag(Constants.Namespace, Constants.HashMetadataKey); if (tag != null) { List<Photo> list = null; if (_cache.ContainsKey(tag.Value)) { list = _cache[tag.Value]; } else { list = new List<Photo>(); _cache.Add(tag.Value, list); } list.Add(photo); if (list.Count == 2) { var activity = new ResolveDuplicateActivity(list); _currentFolderDuplicates.Add(activity); } } return photo; }
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; }