From 365a992736a719a8183d7c031829770d7a62dcaa Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 12 Jul 2015 15:33:00 -0400 Subject: update dto dictionary building --- MediaBrowser.Server.Implementations/Dto/DtoService.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index bdc758d8e8..257e0feb1a 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -88,7 +88,7 @@ namespace MediaBrowser.Server.Implementations.Dto public IEnumerable GetBaseItemDtos(IEnumerable items, DtoOptions options, User user = null, BaseItem owner = null) { var syncJobItems = GetSyncedItemProgress(options); - var syncDictionary = syncJobItems.ToDictionary(i => i.ItemId); + var syncDictionary = GetSyncedItemProgressDictionary(syncJobItems); var list = new List(); @@ -120,11 +120,23 @@ namespace MediaBrowser.Server.Implementations.Dto return list; } + private Dictionary GetSyncedItemProgressDictionary(IEnumerable items) + { + var dict = new Dictionary(); + + foreach (var item in items) + { + dict[item.ItemId] = item; + } + + return dict; + } + public BaseItemDto GetBaseItemDto(BaseItem item, DtoOptions options, User user = null, BaseItem owner = null) { var syncProgress = GetSyncedItemProgress(options); - var dto = GetBaseItemDtoInternal(item, options, syncProgress.ToDictionary(i => i.ItemId), user, owner); + var dto = GetBaseItemDtoInternal(item, options, GetSyncedItemProgressDictionary(syncProgress), user, owner); var byName = item as IItemByName; @@ -382,7 +394,7 @@ namespace MediaBrowser.Server.Implementations.Dto { var syncProgress = GetSyncedItemProgress(options); - var dto = GetBaseItemDtoInternal(item, options, syncProgress.ToDictionary(i => i.ItemId), user); + var dto = GetBaseItemDtoInternal(item, options, GetSyncedItemProgressDictionary(syncProgress), user); if (options.Fields.Contains(ItemFields.ItemCounts)) { -- cgit v1.2.3