aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs9
-rw-r--r--MediaBrowser.Controller/Library/ILibraryManager.cs21
2 files changed, 25 insertions, 5 deletions
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index 3e4dff033..41e5406e1 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -1698,9 +1698,9 @@ namespace MediaBrowser.Controller.Entities
.Select(libraryManager.GetItemById)
.Select(i => i == null ? "-1" : i.Name)
.ToList();
-
+
if (!(names.Any(
- v => item.People.Select(i => i.Name).Contains(v, StringComparer.OrdinalIgnoreCase))))
+ v => libraryManager.GetPeople(item).Select(i => i.Name).Contains(v, StringComparer.OrdinalIgnoreCase))))
{
return false;
}
@@ -1713,7 +1713,7 @@ namespace MediaBrowser.Controller.Entities
if (personTypes.Length == 0)
{
- if (!(item.People.Any(p => string.Equals(p.Name, query.Person, StringComparison.OrdinalIgnoreCase))))
+ if (!(libraryManager.GetPeople(item).Any(p => string.Equals(p.Name, query.Person, StringComparison.OrdinalIgnoreCase))))
{
return false;
}
@@ -1723,8 +1723,7 @@ namespace MediaBrowser.Controller.Entities
var types = personTypes;
var ok = new[] { item }.Any(i =>
- i.People != null &&
- i.People.Any(p =>
+ libraryManager.GetPeople(i).Any(p =>
string.Equals(p.Name, query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type ?? string.Empty, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role ?? string.Empty, StringComparer.OrdinalIgnoreCase))));
if (!ok)
diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs
index aa8799fa6..92028cc1a 100644
--- a/MediaBrowser.Controller/Library/ILibraryManager.cs
+++ b/MediaBrowser.Controller/Library/ILibraryManager.cs
@@ -412,5 +412,26 @@ namespace MediaBrowser.Controller.Library
/// <param name="item">The item.</param>
/// <returns>IEnumerable&lt;Folder&gt;.</returns>
IEnumerable<Folder> GetCollectionFolders(BaseItem item);
+
+ /// <summary>
+ /// Gets the people.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns>List&lt;PersonInfo&gt;.</returns>
+ List<PersonInfo> GetPeople(BaseItem item);
+
+ /// <summary>
+ /// Gets all people names.
+ /// </summary>
+ /// <returns>List&lt;System.String&gt;.</returns>
+ List<PersonInfo> GetAllPeople();
+
+ /// <summary>
+ /// Updates the people.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="people">The people.</param>
+ /// <returns>Task.</returns>
+ Task UpdatePeople(BaseItem item, List<PersonInfo> people);
}
} \ No newline at end of file