From 0291df3193f6fd23806a6ec1e87bf1aa7ed49c25 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Jul 2015 12:10:34 -0400 Subject: 3.0.5666.2 --- MediaBrowser.Controller/Entities/IItemByName.cs | 2 +- .../Entities/InternalPeopleQuery.cs | 20 ++++++++++++++++++++ MediaBrowser.Controller/Entities/Person.cs | 2 ++ MediaBrowser.Controller/Entities/UserViewBuilder.cs | 2 +- MediaBrowser.Controller/Library/ILibraryManager.cs | 18 ++++++++++++++++-- .../MediaBrowser.Controller.csproj | 1 + .../Persistence/IItemRepository.cs | 8 ++++---- 7 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 MediaBrowser.Controller/Entities/InternalPeopleQuery.cs (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/IItemByName.cs b/MediaBrowser.Controller/Entities/IItemByName.cs index 14b69b8fde..e6667290c1 100644 --- a/MediaBrowser.Controller/Entities/IItemByName.cs +++ b/MediaBrowser.Controller/Entities/IItemByName.cs @@ -6,7 +6,7 @@ namespace MediaBrowser.Controller.Entities /// /// Marker interface /// - public interface IItemByName + public interface IItemByName : IHasMetadata { /// /// Gets the tagged items. diff --git a/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs b/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs new file mode 100644 index 0000000000..622dffe65d --- /dev/null +++ b/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Entities +{ + public class InternalPeopleQuery + { + public Guid ItemId { get; set; } + public List PersonTypes { get; set; } + public List ExcludePersonTypes { get; set; } + public int? MaxListOrder { get; set; } + public Guid AppearsInItemId { get; set; } + + public InternalPeopleQuery() + { + PersonTypes = new List(); + ExcludePersonTypes = new List(); + } + } +} diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index 535574ad90..0a62655eef 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -99,6 +99,8 @@ namespace MediaBrowser.Controller.Entities /// public class PersonInfo { + public Guid ItemId { get; set; } + /// /// Gets or sets the name. /// diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 7bbe5c39c1..62c71d1690 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -1698,7 +1698,7 @@ namespace MediaBrowser.Controller.Entities .Select(libraryManager.GetItemById) .Select(i => i == null ? "-1" : i.Name) .ToList(); - + if (!(names.Any(v => libraryManager.GetPeople(item).Select(i => i.Name).Contains(v, StringComparer.OrdinalIgnoreCase)))) { return false; diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index 58c696d550..f0bfaaf667 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -420,12 +420,19 @@ namespace MediaBrowser.Controller.Library /// List<PersonInfo>. List GetPeople(BaseItem item); + /// + /// Gets the people. + /// + /// The query. + /// List<PersonInfo>. + List GetPeople(InternalPeopleQuery query); + /// /// Gets the people items. /// - /// The item. + /// The query. /// List<Person>. - List GetPeopleItems(BaseItem item); + List GetPeopleItems(InternalPeopleQuery query); /// /// Gets all people names. @@ -447,5 +454,12 @@ namespace MediaBrowser.Controller.Library /// The query. /// List<Guid>. List GetItemIds(InternalItemsQuery query); + + /// + /// Gets the people names. + /// + /// The query. + /// List<System.String>. + List GetPeopleNames(InternalPeopleQuery query); } } \ No newline at end of file diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index fcb938accf..fcde6d8c0e 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -166,6 +166,7 @@ + diff --git a/MediaBrowser.Controller/Persistence/IItemRepository.cs b/MediaBrowser.Controller/Persistence/IItemRepository.cs index a91a7d3acd..a4b9bf1202 100644 --- a/MediaBrowser.Controller/Persistence/IItemRepository.cs +++ b/MediaBrowser.Controller/Persistence/IItemRepository.cs @@ -151,9 +151,9 @@ namespace MediaBrowser.Controller.Persistence /// /// Gets the people. /// - /// The item identifier. + /// The query. /// List<PersonInfo>. - List GetPeople(Guid itemId); + List GetPeople(InternalPeopleQuery query); /// /// Updates the people. @@ -166,9 +166,9 @@ namespace MediaBrowser.Controller.Persistence /// /// Gets the people names. /// - /// The item identifier. + /// The query. /// List<System.String>. - List GetPeopleNames(Guid itemId); + List GetPeopleNames(InternalPeopleQuery query); } } -- cgit v1.2.3