diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-06 22:25:23 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-07-06 22:25:23 -0400 |
| commit | dfa17aec70652d8a21d43c889f08f8c0fd805d09 (patch) | |
| tree | cfe6b311df16d0513f45a8fd3e8ac2feb78f9129 /MediaBrowser.Controller | |
| parent | 8ccd82719adbcaec28ab9af18e6c31209d5dad22 (diff) | |
update people queries
Diffstat (limited to 'MediaBrowser.Controller')
4 files changed, 28 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index 390fcaf80..535574ad9 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -70,7 +70,12 @@ namespace MediaBrowser.Controller.Entities public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems) { - return inputItems.Where(GetItemFilter()); + var itemsWithPerson = LibraryManager.GetItemIds(new InternalItemsQuery + { + Person = Name + }); + + return inputItems.Where(i => itemsWithPerson.Contains(i.Id)); } diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 41e5406e1..7bbe5c39c 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -1699,8 +1699,7 @@ namespace MediaBrowser.Controller.Entities .Select(i => i == null ? "-1" : i.Name) .ToList(); - if (!(names.Any( - v => libraryManager.GetPeople(item).Select(i => i.Name).Contains(v, StringComparer.OrdinalIgnoreCase)))) + 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 92028cc1a..58c696d55 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -421,6 +421,13 @@ namespace MediaBrowser.Controller.Library List<PersonInfo> GetPeople(BaseItem item); /// <summary> + /// Gets the people items. + /// </summary> + /// <param name="item">The item.</param> + /// <returns>List<Person>.</returns> + List<Person> GetPeopleItems(BaseItem item); + + /// <summary> /// Gets all people names. /// </summary> /// <returns>List<System.String>.</returns> @@ -433,5 +440,12 @@ namespace MediaBrowser.Controller.Library /// <param name="people">The people.</param> /// <returns>Task.</returns> Task UpdatePeople(BaseItem item, List<PersonInfo> people); + + /// <summary> + /// Gets the item ids. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>List<Guid>.</returns> + List<Guid> GetItemIds(InternalItemsQuery query); } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Persistence/IItemRepository.cs b/MediaBrowser.Controller/Persistence/IItemRepository.cs index fba5f4c03..a91a7d3ac 100644 --- a/MediaBrowser.Controller/Persistence/IItemRepository.cs +++ b/MediaBrowser.Controller/Persistence/IItemRepository.cs @@ -162,6 +162,13 @@ namespace MediaBrowser.Controller.Persistence /// <param name="people">The people.</param> /// <returns>Task.</returns> Task UpdatePeople(Guid itemId, List<PersonInfo> people); + + /// <summary> + /// Gets the people names. + /// </summary> + /// <param name="itemId">The item identifier.</param> + /// <returns>List<System.String>.</returns> + List<string> GetPeopleNames(Guid itemId); } } |
