diff --git a/src/Umbraco.Core/Events/EventExtensions.cs b/src/Umbraco.Core/Events/EventExtensions.cs
index bd5a3445f6..540a0ad7b8 100644
--- a/src/Umbraco.Core/Events/EventExtensions.cs
+++ b/src/Umbraco.Core/Events/EventExtensions.cs
@@ -28,8 +28,10 @@ namespace Umbraco.Core.Events
{
var evtArgs = args(evtMsgs);
- if (eventHandler != null)
+ if (eventHandler != null)
+ {
eventHandler(sender, evtArgs);
+ }
return evtArgs.Cancel;
}
@@ -55,15 +57,38 @@ namespace Umbraco.Core.Events
return args.Cancel;
}
- ///
- /// Raises the event
- ///
- ///
- ///
- ///
- ///
- ///
- public static void RaiseEvent(
+ ///
+ /// Raises the event with EventMessages
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void RaiseEvent(
+ this TypedEventHandler eventHandler,
+ EventMessages evtMsgs,
+ Func args,
+ TSender sender)
+ where TArgs : EventArgs
+ {
+ if (eventHandler != null)
+ {
+ var evtArgs = args(evtMsgs);
+ eventHandler(sender, evtArgs);
+ }
+ }
+
+ ///
+ /// Raises the event
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void RaiseEvent(
this TypedEventHandler eventHandler,
TArgs args,
TSender sender)
diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs
index 57073731a7..00d422d57c 100644
--- a/src/Umbraco.Core/Services/ContentService.cs
+++ b/src/Umbraco.Core/Services/ContentService.cs
@@ -1002,7 +1002,7 @@ namespace Umbraco.Core.Services
}
if (raiseEvents)
- Saved.RaiseEvent(new SaveEventArgs(asArray, false), this);
+ Saved.RaiseEvent(EventMessagesFactory.Get(), messages => new SaveEventArgs(asArray, false, messages), this);
Audit(AuditType.Save, "Bulk Save content performed by user", userId == -1 ? 0 : userId, Constants.System.Root);
@@ -1868,7 +1868,7 @@ namespace Umbraco.Core.Services
}
if (raiseEvents)
- Saved.RaiseEvent(new SaveEventArgs(content, false), this);
+ Saved.RaiseEvent(EventMessagesFactory.Get(), messages => new SaveEventArgs(content, false, messages), this);
//Save xml to db and call following method to fire event through PublishingStrategy to update cache
if (published)
@@ -1934,7 +1934,7 @@ namespace Umbraco.Core.Services
}
if (raiseEvents)
- Saved.RaiseEvent(new SaveEventArgs(content, false), this);
+ Saved.RaiseEvent(EventMessagesFactory.Get(), messages => new SaveEventArgs(content, false, messages), this);
Audit(AuditType.Save, "Save Content performed by user", userId, content.Id);
diff --git a/src/Umbraco.Core/Services/MediaService.cs b/src/Umbraco.Core/Services/MediaService.cs
index f14d374fe8..473f808377 100644
--- a/src/Umbraco.Core/Services/MediaService.cs
+++ b/src/Umbraco.Core/Services/MediaService.cs
@@ -989,7 +989,7 @@ namespace Umbraco.Core.Services
}
if (raiseEvents)
- Saved.RaiseEvent(new SaveEventArgs(media, false), this);
+ Saved.RaiseEvent(EventMessagesFactory.Get(), messages => new SaveEventArgs(media, false, messages), this);
Audit(AuditType.Save, "Save Media performed by user", userId, media.Id);
@@ -1037,7 +1037,7 @@ namespace Umbraco.Core.Services
}
if (raiseEvents)
- Saved.RaiseEvent(new SaveEventArgs(asArray, false), this);
+ Saved.RaiseEvent(EventMessagesFactory.Get(), messages => new SaveEventArgs(asArray, false, messages), this);
Audit(AuditType.Save, "Save Media items performed by user", userId, -1);