aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-06 22:25:23 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-06 22:25:23 -0400
commitdfa17aec70652d8a21d43c889f08f8c0fd805d09 (patch)
treecfe6b311df16d0513f45a8fd3e8ac2feb78f9129 /MediaBrowser.Controller
parent8ccd82719adbcaec28ab9af18e6c31209d5dad22 (diff)
update people queries
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Person.cs7
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs3
-rw-r--r--MediaBrowser.Controller/Library/ILibraryManager.cs14
-rw-r--r--MediaBrowser.Controller/Persistence/IItemRepository.cs7
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&lt;Person&gt;.</returns>
+ List<Person> GetPeopleItems(BaseItem item);
+
+ /// <summary>
/// Gets all people names.
/// </summary>
/// <returns>List&lt;System.String&gt;.</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&lt;Guid&gt;.</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&lt;System.String&gt;.</returns>
+ List<string> GetPeopleNames(Guid itemId);
}
}