update child count creation

This commit is contained in:
Luke Pulverenti
2016-06-16 09:24:12 -04:00
parent ed6a0b5296
commit 626a2ed2a9
10 changed files with 79 additions and 23 deletions

View File

@@ -549,8 +549,7 @@ namespace MediaBrowser.Server.Implementations.Dto
private int GetChildCount(Folder folder, User user)
{
return folder.GetChildren(user, true)
.Count();
return folder.GetChildCount(user);
}
/// <summary>

View File

@@ -1276,18 +1276,9 @@ namespace MediaBrowser.Server.Implementations.Library
return item;
}
public BaseItem GetMemoryItemById(Guid id)
private bool EnableCaching
{
if (id == Guid.Empty)
{
throw new ArgumentNullException("id");
}
BaseItem item;
LibraryItemsCache.TryGetValue(id, out item);
return item;
get { return true; }
}
public IEnumerable<BaseItem> GetItemList(InternalItemsQuery query)
@@ -1297,6 +1288,11 @@ namespace MediaBrowser.Server.Implementations.Library
AddUserToQuery(query, query.User);
}
if (!EnableCaching)
{
return ItemRepository.GetItemList(query);
}
var result = ItemRepository.GetItemIdsList(query);
return result.Select(GetItemById).Where(i => i != null);
@@ -1336,6 +1332,11 @@ namespace MediaBrowser.Server.Implementations.Library
SetTopParentIdsOrAncestors(query, parents);
if (!EnableCaching)
{
return ItemRepository.GetItemList(query);
}
return GetItemIds(query).Select(GetItemById).Where(i => i != null);
}
@@ -1358,6 +1359,11 @@ namespace MediaBrowser.Server.Implementations.Library
if (query.EnableTotalRecordCount)
{
if (!EnableCaching)
{
return ItemRepository.GetItems(query);
}
var initialResult = ItemRepository.GetItemIds(query);
return new QueryResult<BaseItem>
@@ -1367,6 +1373,14 @@ namespace MediaBrowser.Server.Implementations.Library
};
}
if (!EnableCaching)
{
return new QueryResult<BaseItem>
{
Items = ItemRepository.GetItemList(query).ToArray()
};
}
return new QueryResult<BaseItem>
{
Items = ItemRepository.GetItemIdsList(query).Select(GetItemById).Where(i => i != null).ToArray()