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 @@ + +