diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-08 12:10:34 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-08 12:10:34 -0400 |
| commit | 0291df3193f6fd23806a6ec1e87bf1aa7ed49c25 (patch) | |
| tree | afc3c6c48119ea644f6111e2c3686e3aae3db637 /MediaBrowser.Controller | |
| parent | dfa17aec70652d8a21d43c889f08f8c0fd805d09 (diff) | |
3.0.5666.2
Diffstat (limited to 'MediaBrowser.Controller')
7 files changed, 45 insertions, 8 deletions
diff --git a/MediaBrowser.Controller/Entities/IItemByName.cs b/MediaBrowser.Controller/Entities/IItemByName.cs index 14b69b8fd..e6667290c 100644 --- a/MediaBrowser.Controller/Entities/IItemByName.cs +++ b/MediaBrowser.Controller/Entities/IItemByName.cs @@ -6,7 +6,7 @@ namespace MediaBrowser.Controller.Entities /// <summary> /// Marker interface /// </summary> - public interface IItemByName + public interface IItemByName : IHasMetadata { /// <summary> /// Gets the tagged items. diff --git a/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs b/MediaBrowser.Controller/Entities/InternalPeopleQuery.cs new file mode 100644 index 000000000..622dffe65 --- /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<string> PersonTypes { get; set; } + public List<string> ExcludePersonTypes { get; set; } + public int? MaxListOrder { get; set; } + public Guid AppearsInItemId { get; set; } + + public InternalPeopleQuery() + { + PersonTypes = new List<string>(); + ExcludePersonTypes = new List<string>(); + } + } +} diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index 535574ad9..0a62655ee 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -99,6 +99,8 @@ namespace MediaBrowser.Controller.Entities /// </summary> public class PersonInfo { + public Guid ItemId { get; set; } + /// <summary> /// Gets or sets the name. /// </summary> diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 7bbe5c39c..62c71d169 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 58c696d55..f0bfaaf66 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -421,11 +421,18 @@ namespace MediaBrowser.Controller.Library List<PersonInfo> GetPeople(BaseItem item); /// <summary> + /// Gets the people. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>List<PersonInfo>.</returns> + List<PersonInfo> GetPeople(InternalPeopleQuery query); + + /// <summary> /// Gets the people items. /// </summary> - /// <param name="item">The item.</param> + /// <param name="query">The query.</param> /// <returns>List<Person>.</returns> - List<Person> GetPeopleItems(BaseItem item); + List<Person> GetPeopleItems(InternalPeopleQuery query); /// <summary> /// Gets all people names. @@ -447,5 +454,12 @@ namespace MediaBrowser.Controller.Library /// <param name="query">The query.</param> /// <returns>List<Guid>.</returns> List<Guid> GetItemIds(InternalItemsQuery query); + + /// <summary> + /// Gets the people names. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>List<System.String>.</returns> + List<string> GetPeopleNames(InternalPeopleQuery query); } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index fcb938acc..fcde6d8c0 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -166,6 +166,7 @@ <Compile Include="Entities\ImageSourceInfo.cs" /> <Compile Include="Entities\IMetadataContainer.cs" /> <Compile Include="Entities\InternalItemsQuery.cs" /> + <Compile Include="Entities\InternalPeopleQuery.cs" /> <Compile Include="Entities\ISupportsBoxSetGrouping.cs" /> <Compile Include="Entities\ISupportsPlaceHolders.cs" /> <Compile Include="Entities\ItemImageInfo.cs" /> diff --git a/MediaBrowser.Controller/Persistence/IItemRepository.cs b/MediaBrowser.Controller/Persistence/IItemRepository.cs index a91a7d3ac..a4b9bf120 100644 --- a/MediaBrowser.Controller/Persistence/IItemRepository.cs +++ b/MediaBrowser.Controller/Persistence/IItemRepository.cs @@ -151,9 +151,9 @@ namespace MediaBrowser.Controller.Persistence /// <summary> /// Gets the people. /// </summary> - /// <param name="itemId">The item identifier.</param> + /// <param name="query">The query.</param> /// <returns>List<PersonInfo>.</returns> - List<PersonInfo> GetPeople(Guid itemId); + List<PersonInfo> GetPeople(InternalPeopleQuery query); /// <summary> /// Updates the people. @@ -166,9 +166,9 @@ namespace MediaBrowser.Controller.Persistence /// <summary> /// Gets the people names. /// </summary> - /// <param name="itemId">The item identifier.</param> + /// <param name="query">The query.</param> /// <returns>List<System.String>.</returns> - List<string> GetPeopleNames(Guid itemId); + List<string> GetPeopleNames(InternalPeopleQuery query); } } |
