From 473d76f1b70f34f76de6979bab5c162ec0a8804f Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Sun, 19 Jan 2014 14:30:23 +0100 Subject: [PATCH] Adding Event Args for import and export --- src/Umbraco.Core/Events/ExportEventArgs.cs | 52 ++++++++++++++++++++++ src/Umbraco.Core/Events/ImportEventArgs.cs | 50 +++++++++++++++++++++ src/Umbraco.Core/Umbraco.Core.csproj | 2 + 3 files changed, 104 insertions(+) create mode 100644 src/Umbraco.Core/Events/ExportEventArgs.cs create mode 100644 src/Umbraco.Core/Events/ImportEventArgs.cs diff --git a/src/Umbraco.Core/Events/ExportEventArgs.cs b/src/Umbraco.Core/Events/ExportEventArgs.cs new file mode 100644 index 0000000000..161a073615 --- /dev/null +++ b/src/Umbraco.Core/Events/ExportEventArgs.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using System.Xml.Linq; + +namespace Umbraco.Core.Events +{ + public class ExportEventArgs : CancellableObjectEventArgs> + { + /// + /// Constructor accepting a single entity instance + /// + /// + /// + /// + public ExportEventArgs(TEntity eventObject, XElement xml, bool canCancel) + : base(new List { eventObject }, canCancel) + { + Xml = xml; + } + + /// + /// Constructor accepting a single entity instance + /// and cancellable by default + /// + /// + /// + public ExportEventArgs(TEntity eventObject, string elementName) : base(new List {eventObject}, true) + { + Xml = new XElement(elementName); + } + + protected ExportEventArgs(IEnumerable eventObject, bool canCancel) : base(eventObject, canCancel) + { + } + + protected ExportEventArgs(IEnumerable eventObject) : base(eventObject) + { + } + + /// + /// Returns all entities that were exported during the operation + /// + public IEnumerable ExportedEntities + { + get { return EventObject; } + } + + /// + /// Returns the xml relating to the export event + /// + public XElement Xml { get; private set; } + } +} \ No newline at end of file diff --git a/src/Umbraco.Core/Events/ImportEventArgs.cs b/src/Umbraco.Core/Events/ImportEventArgs.cs new file mode 100644 index 0000000000..3bdd6d6fcf --- /dev/null +++ b/src/Umbraco.Core/Events/ImportEventArgs.cs @@ -0,0 +1,50 @@ +using System.Collections.Generic; +using System.Xml.Linq; + +namespace Umbraco.Core.Events +{ + public class ImportEventArgs : CancellableObjectEventArgs> + { + /// + /// Constructor accepting an XElement with the xml being imported + /// + /// + public ImportEventArgs(XElement xml) : base(new List(), true) + { + Xml = xml; + } + + /// + /// Constructor accepting a list of entities and an XElement with the imported xml + /// + /// + /// + /// + public ImportEventArgs(IEnumerable eventObject, XElement xml, bool canCancel) + : base(eventObject, canCancel) + { + Xml = xml; + } + + protected ImportEventArgs(IEnumerable eventObject, bool canCancel) : base(eventObject, canCancel) + { + } + + protected ImportEventArgs(IEnumerable eventObject) : base(eventObject) + { + } + + /// + /// Returns all entities that were imported during the operation + /// + public IEnumerable ImportedEntities + { + get { return EventObject; } + } + + /// + /// Returns the xml relating to the import event + /// + public XElement Xml { get; private set; } + } +} \ No newline at end of file diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index bf6fcda1e3..18cd086cbe 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -287,6 +287,8 @@ + +