From d080037af95878827204291713355e1eed3e2f67 Mon Sep 17 00:00:00 2001 From: mvarblow Date: Fri, 18 Sep 2015 10:45:16 -0400 Subject: [PATCH] Update TaxonomyService.cs --- .../Orchard.Taxonomies/Services/TaxonomyService.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Taxonomies/Services/TaxonomyService.cs b/src/Orchard.Web/Modules/Orchard.Taxonomies/Services/TaxonomyService.cs index e283b3523..e0220cce3 100644 --- a/src/Orchard.Web/Modules/Orchard.Taxonomies/Services/TaxonomyService.cs +++ b/src/Orchard.Web/Modules/Orchard.Taxonomies/Services/TaxonomyService.cs @@ -30,6 +30,7 @@ namespace Orchard.Taxonomies.Services { private readonly ShellSettings _shellSettings; private readonly IShellDescriptorManager _shellDescriptorManager; + private readonly HashSet _processedTermParts = new HashSet(); public TaxonomyService( IRepository termContentItemRepository, @@ -266,8 +267,13 @@ namespace Orchard.Taxonomies.Services { } var termPartRecordIds = termList.Select(t => t.Term.TermRecord.Id).ToArray(); - if (termPartRecordIds.Length > 0) { - _processingEngine.AddTask(_shellSettings, _shellDescriptorManager.GetShellDescriptor(), "ITermCountProcessor.Process", new Dictionary { { "termPartRecordIds", termPartRecordIds } }); + if (termPartRecordIds.Any()) { + if (!_processedTermParts.Any()) { + _processingEngine.AddTask(_shellSettings, _shellDescriptorManager.GetShellDescriptor(), "ITermCountProcessor.Process", new Dictionary { { "termPartRecordIds", _processedTermParts } }); + } + foreach (var termPartRecordId in termPartRecordIds) { + _processedTermParts.Add(termPartRecordId); + } } }