Refactored content handler invocations using Invoke.

This commit is contained in:
Sipke Schoorstra
2015-10-13 21:29:19 +02:00
parent 161ac92c9e
commit d6c4d648a6

View File

@@ -764,13 +764,9 @@ namespace Orchard.ContentManagement {
} }
var context = new ImportContentContext(item, element, importContentSession); var context = new ImportContentContext(item, element, importContentSession);
foreach (var contentHandler in Handlers) {
contentHandler.Importing(context);
}
foreach (var contentHandler in Handlers) { Handlers.Invoke(contentHandler => contentHandler.Importing(context), Logger);
contentHandler.Imported(context); Handlers.Invoke(contentHandler => contentHandler.Imported(context), Logger);
}
var savedItem = Get(item.Id, VersionOptions.Latest); var savedItem = Get(item.Id, VersionOptions.Latest);
@@ -804,22 +800,15 @@ namespace Orchard.ContentManagement {
var item = importContentSession.Get(identity, VersionOptions.Latest, XmlConvert.DecodeName(element.Name.LocalName)); var item = importContentSession.Get(identity, VersionOptions.Latest, XmlConvert.DecodeName(element.Name.LocalName));
var context = new ImportContentContext(item, element, importContentSession); var context = new ImportContentContext(item, element, importContentSession);
foreach (var handler in _handlers.Value) { Handlers.Invoke(contentHandler => contentHandler.ImportCompleted(context), Logger);
handler.ImportCompleted(context);
}
} }
public XElement Export(ContentItem contentItem) { public XElement Export(ContentItem contentItem) {
var context = new ExportContentContext(contentItem, new XElement(XmlConvert.EncodeLocalName(contentItem.ContentType))); var context = new ExportContentContext(contentItem, new XElement(XmlConvert.EncodeLocalName(contentItem.ContentType)));
foreach (var contentHandler in Handlers) { Handlers.Invoke(contentHandler => contentHandler.Exporting(context), Logger);
contentHandler.Exporting(context); Handlers.Invoke(contentHandler => contentHandler.Exported(context), Logger);
}
foreach (var contentHandler in Handlers) {
contentHandler.Exported(context);
}
if (context.Exclude) { if (context.Exclude) {
return null; return null;
} }