aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-19 11:12:54 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-19 11:12:54 -0400
commitd580abcd6526b67f7e36514bab1ce8edf39b7674 (patch)
tree3fc03e34cefbeb7f61580bb4d848272db5c4c5f7 /MediaBrowser.Server.Implementations/Library/LibraryManager.cs
parentcb839f9f2595e41c8bb655c3b72ad598ee6666ad (diff)
cleanup repeated querying within CollectionFolder
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 27d6953d7..a5b792726 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1283,6 +1283,8 @@ namespace MediaBrowser.Server.Implementations.Library
UpdateItemInLibraryCache(item);
}
+ UpdateCollectionFolders();
+
if (ItemAdded != null)
{
foreach (var item in list)
@@ -1336,6 +1338,8 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="item">The item.</param>
public void ReportItemRemoved(BaseItem item)
{
+ UpdateCollectionFolders();
+
if (ItemRemoved != null)
{
try
@@ -1349,6 +1353,14 @@ namespace MediaBrowser.Server.Implementations.Library
}
}
+ private void UpdateCollectionFolders()
+ {
+ foreach (var folder in _userManager.Users.SelectMany(i => i.RootFolder.Children).OfType<CollectionFolder>().ToList())
+ {
+ folder.ResetDynamicChildren();
+ }
+ }
+
/// <summary>
/// Retrieves the item.
/// </summary>