aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/PersonsService.cs
diff options
context:
space:
mode:
authorTavares André <tavares_and@hotmail.com>2015-07-16 20:19:12 +0200
committerTavares André <tavares_and@hotmail.com>2015-07-16 20:19:12 +0200
commit8fd5a8af8d8b6d371a0a2c44d0c7c6809410125c (patch)
treec23e4a4afc33c35318eb2a26f51b28d3a6bb35da /MediaBrowser.Api/UserLibrary/PersonsService.cs
parent0fa55fd6de42b683bcdcc0c632f4db1436bca36d (diff)
parentf1ad56a7deaef79f6dcb2b871de727b8e4af3371 (diff)
Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/PersonsService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/PersonsService.cs15
1 files changed, 6 insertions, 9 deletions
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
/// <param name="itemsList">The items list.</param>
/// <param name="personTypes">The person types.</param>
/// <returns>IEnumerable{PersonInfo}.</returns>
- private IEnumerable<PersonInfo> GetAllPeople(IEnumerable<BaseItem> itemsList, string[] personTypes)
+ private IEnumerable<PersonInfo> GetAllPeople(IEnumerable<BaseItem> itemsList, IEnumerable<string> 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);
}
}
}