From d580abcd6526b67f7e36514bab1ce8edf39b7674 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 19 Sep 2013 11:12:54 -0400 Subject: cleanup repeated querying within CollectionFolder --- .../Library/LibraryManager.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs') 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 /// The item. 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().ToList()) + { + folder.ResetDynamicChildren(); + } + } + /// /// Retrieves the item. /// -- cgit v1.2.3