diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/CollectionFolder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/CollectionFolder.cs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs index 7d7d60ae5..b080478b8 100644 --- a/MediaBrowser.Controller/Entities/CollectionFolder.cs +++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs @@ -70,6 +70,38 @@ namespace MediaBrowser.Controller.Entities /// <summary> /// Our children are actually just references to the ones in the physical root... /// </summary> + /// <value>The linked children.</value> + public override List<LinkedChild> LinkedChildren + { + get + { + ItemResolveArgs resolveArgs; + + try + { + resolveArgs = ResolveArgs; + } + catch (IOException ex) + { + Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path); + return new List<LinkedChild>(); + } + + return LibraryManager.RootFolder.RecursiveChildren + .OfType<Folder>() + .Where(i => i.Path != null && resolveArgs.PhysicalLocations.Contains(i.Path, StringComparer.OrdinalIgnoreCase)) + .SelectMany(c => c.LinkedChildren).ToList(); + + } + set + { + base.LinkedChildren = value; + } + } + + /// <summary> + /// Our children are actually just references to the ones in the physical root... + /// </summary> /// <value>The actual children.</value> protected override ConcurrentDictionary<Guid, BaseItem> ActualChildren { |
