diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/Movies/BoxSet.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Movies/BoxSet.cs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs index 705cf90575..9dc600675f 100644 --- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs +++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs @@ -15,15 +15,19 @@ namespace MediaBrowser.Controller.Entities.Movies /// <summary> /// Class BoxSet /// </summary> - public class BoxSet : Folder, IHasTrailers, IHasKeywords, IHasPreferredMetadataLanguage, IHasDisplayOrder, IHasLookupInfo<BoxSetInfo>, IMetadataContainer + public class BoxSet : Folder, IHasTrailers, IHasKeywords, IHasPreferredMetadataLanguage, IHasDisplayOrder, IHasLookupInfo<BoxSetInfo>, IMetadataContainer, IHasShares { + public List<Share> Shares { get; set; } + public BoxSet() { RemoteTrailers = new List<MediaUrl>(); LocalTrailerIds = new List<Guid>(); + RemoteTrailerIds = new List<Guid>(); DisplayOrder = ItemSortBy.PremiereDate; Keywords = new List<string>(); + Shares = new List<Share>(); } protected override bool FilterLinkedChildrenPerUser @@ -35,6 +39,7 @@ namespace MediaBrowser.Controller.Entities.Movies } public List<Guid> LocalTrailerIds { get; set; } + public List<Guid> RemoteTrailerIds { get; set; } /// <summary> /// Gets or sets the remote trailers. @@ -76,6 +81,17 @@ namespace MediaBrowser.Controller.Entities.Movies } } + /// <summary> + /// Gets the trailer ids. + /// </summary> + /// <returns>List<Guid>.</returns> + public List<Guid> GetTrailerIds() + { + var list = LocalTrailerIds.ToList(); + list.AddRange(RemoteTrailerIds); + return list; + } + public override IEnumerable<BaseItem> GetChildren(User user, bool includeLinkedChildren) { var children = base.GetChildren(user, includeLinkedChildren); @@ -147,5 +163,20 @@ namespace MediaBrowser.Controller.Entities.Movies progress.Report(100); } + + public override bool IsVisible(User user) + { + if (base.IsVisible(user)) + { + var userId = user.Id.ToString("N"); + + return Shares.Any(i => string.Equals(userId, i.UserId, StringComparison.OrdinalIgnoreCase)) || + + // Need to support this for boxsets created prior to the creation of Shares + Shares.Count == 0; + } + + return false; + } } } |
