From dfa17aec70652d8a21d43c889f08f8c0fd805d09 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 6 Jul 2015 22:25:23 -0400 Subject: update people queries --- MediaBrowser.Controller/Entities/Person.cs | 7 ++++++- MediaBrowser.Controller/Entities/UserViewBuilder.cs | 3 +-- MediaBrowser.Controller/Library/ILibraryManager.cs | 14 ++++++++++++++ MediaBrowser.Controller/Persistence/IItemRepository.cs | 7 +++++++ 4 files changed, 28 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index 390fcaf804..535574ad90 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -70,7 +70,12 @@ namespace MediaBrowser.Controller.Entities public IEnumerable GetTaggedItems(IEnumerable 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 41e5406e18..7bbe5c39c1 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 92028cc1af..58c696d550 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -420,6 +420,13 @@ namespace MediaBrowser.Controller.Library /// List<PersonInfo>. List GetPeople(BaseItem item); + /// + /// Gets the people items. + /// + /// The item. + /// List<Person>. + List GetPeopleItems(BaseItem item); + /// /// Gets all people names. /// @@ -433,5 +440,12 @@ namespace MediaBrowser.Controller.Library /// The people. /// Task. Task UpdatePeople(BaseItem item, List people); + + /// + /// Gets the item ids. + /// + /// The query. + /// List<Guid>. + List GetItemIds(InternalItemsQuery query); } } \ No newline at end of file diff --git a/MediaBrowser.Controller/Persistence/IItemRepository.cs b/MediaBrowser.Controller/Persistence/IItemRepository.cs index fba5f4c03e..a91a7d3acd 100644 --- a/MediaBrowser.Controller/Persistence/IItemRepository.cs +++ b/MediaBrowser.Controller/Persistence/IItemRepository.cs @@ -162,6 +162,13 @@ namespace MediaBrowser.Controller.Persistence /// The people. /// Task. Task UpdatePeople(Guid itemId, List people); + + /// + /// Gets the people names. + /// + /// The item identifier. + /// List<System.String>. + List GetPeopleNames(Guid itemId); } } -- cgit v1.2.3