diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-11-14 13:57:26 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-11-14 13:57:26 -0500 |
| commit | f6e73a428e299fb3037efa0e8d41e8866016c68c (patch) | |
| tree | ec4fad4a24045d34fc2403516df3ea2de33a026c /MediaBrowser.Controller/Entities/BaseItem.cs | |
| parent | 743102b88f22c04c1cd932f4d93a413093bea1ed (diff) | |
update querying
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index d8bb51003..252689b4a 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1939,6 +1939,36 @@ namespace MediaBrowser.Controller.Entities return GetParents().Select(i => i.Id).Concat(LibraryManager.GetCollectionFolders(this).Select(i => i.Id)); } + public BaseItem GetTopParent() + { + if (IsTopParent) + { + return this; + } + + return GetParents().FirstOrDefault(i => i.IsTopParent); + } + + [IgnoreDataMember] + public virtual bool IsTopParent + { + get + { + if (GetParent() is AggregateFolder || this is Channel || this is BasePluginFolder) + { + return true; + } + + var view = this as UserView; + if (view != null && string.Equals(view.ViewType, CollectionType.LiveTv, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + return false; + } + } + [IgnoreDataMember] public virtual bool SupportsAncestors { |
