diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserViewBuilder.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/ILibraryManager.cs | 21 |
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<Folder>.</returns> IEnumerable<Folder> GetCollectionFolders(BaseItem item); + + /// <summary> + /// Gets the people. + /// </summary> + /// <param name="item">The item.</param> + /// <returns>List<PersonInfo>.</returns> + List<PersonInfo> GetPeople(BaseItem item); + + /// <summary> + /// Gets all people names. + /// </summary> + /// <returns>List<System.String>.</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 |
