From a3150b7d4e191a1e05660ffb6322d288b0eafefd Mon Sep 17 00:00:00 2001 From: Stephan Date: Fri, 20 Jan 2017 18:33:21 +0100 Subject: [PATCH] U4-9322 - missing files --- src/Umbraco.Core/Scoping/IScope.cs | 10 +++--- src/Umbraco.Core/Scoping/NoScope.cs | 4 +-- src/Umbraco.Core/Scoping/Scope.cs | 54 ++++++++++++++--------------- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/Umbraco.Core/Scoping/IScope.cs b/src/Umbraco.Core/Scoping/IScope.cs index db68d4ed78..26e8b7cb49 100644 --- a/src/Umbraco.Core/Scoping/IScope.cs +++ b/src/Umbraco.Core/Scoping/IScope.cs @@ -21,6 +21,11 @@ namespace Umbraco.Core.Scoping /// IList Messages { get; } + /// + /// Gets the event manager + /// + IEventManager Events { get; } + /// /// Gets the repository cache mode. /// @@ -31,11 +36,6 @@ namespace Umbraco.Core.Scoping /// IsolatedRuntimeCache IsolatedRuntimeCache { get; } - /// - /// Gets the event manager - /// - IEventManager EventManager { get; } - /// /// Completes the scope. /// diff --git a/src/Umbraco.Core/Scoping/NoScope.cs b/src/Umbraco.Core/Scoping/NoScope.cs index d1eaa140f9..4f8c705f28 100644 --- a/src/Umbraco.Core/Scoping/NoScope.cs +++ b/src/Umbraco.Core/Scoping/NoScope.cs @@ -68,7 +68,7 @@ namespace Umbraco.Core.Scoping return _messages ?? (_messages = new List()); } } - + public IList MessagesOrNull { get @@ -130,6 +130,6 @@ namespace Umbraco.Core.Scoping _disposed = true; GC.SuppressFinalize(this); - } + } } } diff --git a/src/Umbraco.Core/Scoping/Scope.cs b/src/Umbraco.Core/Scoping/Scope.cs index 90aac6617b..f0e58f1f9c 100644 --- a/src/Umbraco.Core/Scoping/Scope.cs +++ b/src/Umbraco.Core/Scoping/Scope.cs @@ -156,14 +156,14 @@ namespace Umbraco.Core.Scoping } } - public UmbracoDatabase DatabaseOrNull - { - get - { - EnsureNotDisposed(); - return ParentScope == null ? _database : ParentScope.DatabaseOrNull; - } - } + //public UmbracoDatabase DatabaseOrNull + //{ + // get + // { + // EnsureNotDisposed(); + // return ParentScope == null ? _database : ParentScope.DatabaseOrNull; + // } + //} /// public IList Messages @@ -172,26 +172,26 @@ namespace Umbraco.Core.Scoping { EnsureNotDisposed(); if (ParentScope != null) return ParentScope.Messages; - if (_messages == null) - _messages = new List(); - return _messages; + return _messages ?? (_messages = new List()); } } - public IList MessagesOrNull - { - get - { - EnsureNotDisposed(); - return ParentScope == null ? _messages : ParentScope.MessagesOrNull; - } - } - - public IEventManager EventManager + //public IList MessagesOrNull + //{ + // get + // { + // EnsureNotDisposed(); + // return ParentScope == null ? _messages : ParentScope.MessagesOrNull; + // } + //} + + /// + public IEventManager Events { get { EnsureNotDisposed(); + if (ParentScope != null) return ParentScope.Events; return _eventManager ?? (_eventManager = new ScopedEventManager()); } } @@ -240,11 +240,6 @@ namespace Umbraco.Core.Scoping else DisposeLastScope(); - if (_eventManager != null) - { - _eventManager.Dispose(); - } - _disposed = true; GC.SuppressFinalize(this); } @@ -279,7 +274,7 @@ namespace Umbraco.Core.Scoping { try { - action(completed); // fixme try catch and everything + action(completed); } catch (Exception e) { @@ -290,6 +285,11 @@ namespace Umbraco.Core.Scoping } if (exceptions != null) throw new AggregateException("Exceptions were throws by complete actions.", exceptions); + + // now trigger every events + // fixme - should some of them trigger within the transaction? + if (_eventManager != null) + _eventManager.Dispose(); } private IDictionary> ExitActions