From 0291df3193f6fd23806a6ec1e87bf1aa7ed49c25 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Jul 2015 12:10:34 -0400 Subject: 3.0.5666.2 --- MediaBrowser.Api/UserLibrary/PersonsService.cs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'MediaBrowser.Api/UserLibrary/PersonsService.cs') diff --git a/MediaBrowser.Api/UserLibrary/PersonsService.cs b/MediaBrowser.Api/UserLibrary/PersonsService.cs index f95beb27e..bd9898dcd 100644 --- a/MediaBrowser.Api/UserLibrary/PersonsService.cs +++ b/MediaBrowser.Api/UserLibrary/PersonsService.cs @@ -5,7 +5,6 @@ using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Dto; using ServiceStack; -using System; using System.Collections.Generic; using System.Linq; @@ -151,18 +150,16 @@ namespace MediaBrowser.Api.UserLibrary /// The items list. /// The person types. /// IEnumerable{PersonInfo}. - private IEnumerable GetAllPeople(IEnumerable itemsList, string[] personTypes) + private IEnumerable GetAllPeople(IEnumerable itemsList, IEnumerable personTypes) { - var people = itemsList.SelectMany(i => LibraryManager.GetPeople(i).OrderBy(p => p.SortOrder ?? int.MaxValue).ThenBy(p => p.Type)); + var allIds = itemsList.Select(i => i.Id).ToList(); - if (personTypes.Length > 0) + var allPeople = LibraryManager.GetPeople(new InternalPeopleQuery { - people = people.Where(p => - personTypes.Contains(p.Type ?? string.Empty, StringComparer.OrdinalIgnoreCase) || - personTypes.Contains(p.Role ?? string.Empty, StringComparer.OrdinalIgnoreCase)); - } + PersonTypes = personTypes.ToList() + }); - return people; + return allPeople.Where(i => allIds.Contains(i.ItemId)).OrderBy(p => p.SortOrder ?? int.MaxValue).ThenBy(p => p.Type); } } } -- cgit v1.2.3