コード例 #1
0
        public IEnumerable <IPathEntry> Build(Model.Engine.SearchResult entry, int entryIndex)
        {
            bool groupIndicator = (entryIndex & 1) == 1;

            var context = entry.Metadata[typeof(DuplicateFileCriterion)];
            var entries = ((DuplicateFileCriterionContext)context).Childs;

            if (entries == null)
            {
                throw new OperationCanceledException("Cannot get the entries from the metadata of file '" + entry.FileSystemInfo.FullName + "'.");
            }

            yield return(new PathDuplicateEntry(entry.FileSystemInfo, groupIndicator));

            foreach (var content in entries)
            {
                yield return(new PathDuplicateEntry(content, groupIndicator));
            }
        }
コード例 #2
0
        public IEnumerable <IPathEntry> Build(Model.Engine.SearchResult entry, int entryIndex)
        {
            var context = entry.Metadata[typeof(NameAndZipCriterion)];
            var entries = ((ZipCriterionContext)context).Childs;

            if (entries == null)
            {
                throw new OperationCanceledException("Cannot get the entries from the metadata of file '" + entry.FileSystemInfo.FullName + "'.");
            }

            if (entries.Count > 0)
            {
                foreach (var content in entries)
                {
                    yield return(new PathZipEntry(entry.FileSystemInfo, content));
                }
            }
            else
            {
                yield return(new PathZipEntry(entry.FileSystemInfo, null));
            }
        }
コード例 #3
0
 public IEnumerable <IPathEntry> Build(Model.Engine.SearchResult entry, int entryIndex)
 {
     return(new[] { new PathEntry(entry.FileSystemInfo) });
 }