diff --git a/src/Orchard/ContentManagement/DefaultContentManager.cs b/src/Orchard/ContentManagement/DefaultContentManager.cs
index 1a08d3152..6b05d89dc 100644
--- a/src/Orchard/ContentManagement/DefaultContentManager.cs
+++ b/src/Orchard/ContentManagement/DefaultContentManager.cs
@@ -346,7 +346,9 @@ namespace Orchard.ContentManagement {
return criteria.GetCriteriaByPath(segment) ?? criteria.CreateCriteria(segment, JoinType.LeftOuterJoin);
}
- public virtual void Publish(ContentItem contentItem) {
+ public virtual void Publish(IContent content) {
+ var contentItem = content.ContentItem;
+
if (contentItem.VersionRecord.Published) {
return;
}
@@ -369,7 +371,8 @@ namespace Orchard.ContentManagement {
Handlers.Invoke(handler => handler.Published(context), Logger);
}
- public virtual void Unpublish(ContentItem contentItem) {
+ public virtual void Unpublish(IContent content) {
+ var contentItem = content.ContentItem;
ContentItem publishedItem;
if (contentItem.VersionRecord.Published) {
// the version passed in is the published one
@@ -377,7 +380,7 @@ namespace Orchard.ContentManagement {
}
else {
// try to locate the published version of this item
- publishedItem = Get(contentItem.Id, VersionOptions.Published);
+ publishedItem = Get(content.Id, VersionOptions.Published);
}
if (publishedItem == null) {
@@ -399,9 +402,9 @@ namespace Orchard.ContentManagement {
Handlers.Invoke(handler => handler.Unpublished(context), Logger);
}
- public virtual void Remove(ContentItem contentItem) {
- var activeVersions = _contentItemVersionRepository.Fetch(x => x.ContentItemRecord == contentItem.Record && (x.Published || x.Latest));
- var context = new RemoveContentContext(contentItem);
+ public virtual void Remove(IContent content) {
+ var activeVersions = _contentItemVersionRepository.Fetch(x => x.ContentItemRecord == content.ContentItem.Record && (x.Published || x.Latest));
+ var context = new RemoveContentContext(content.ContentItem);
Handlers.Invoke(handler => handler.Removing(context), Logger);
@@ -417,7 +420,8 @@ namespace Orchard.ContentManagement {
Handlers.Invoke(handler => handler.Removed(context), Logger);
}
- protected virtual ContentItem BuildNewVersion(ContentItem existingContentItem) {
+ protected virtual ContentItem BuildNewVersion(IContent existingContent) {
+ var existingContentItem = existingContent.ContentItem;
var contentItemRecord = existingContentItem.Record;
// locate the existing and the current latest versions, allocate building version
@@ -461,11 +465,13 @@ namespace Orchard.ContentManagement {
return context.BuildingContentItem;
}
- public virtual void Create(ContentItem contentItem) {
- Create(contentItem, VersionOptions.Published);
+ public virtual void Create(IContent content) {
+ Create(content, VersionOptions.Published);
}
- public virtual void Create(ContentItem contentItem, VersionOptions options) {
+ public virtual void Create(IContent content, VersionOptions options) {
+ var contentItem = content.ContentItem;
+
if (contentItem.VersionRecord == null) {
// produce root record to determine the model id
contentItem.VersionRecord = new ContentItemVersionRecord {
@@ -687,8 +693,8 @@ namespace Orchard.ContentManagement {
}
}
- public XElement Export(ContentItem contentItem) {
- var context = new ExportContentContext(contentItem, new XElement(XmlConvert.EncodeLocalName(contentItem.ContentType)));
+ public XElement Export(IContent content) {
+ var context = new ExportContentContext(content.ContentItem, new XElement(XmlConvert.EncodeLocalName(content.ContentItem.ContentType)));
foreach (var contentHandler in Handlers) {
contentHandler.Exporting(context);
@@ -698,8 +704,8 @@ namespace Orchard.ContentManagement {
contentHandler.Exported(context);
}
- context.Data.SetAttributeValue("Id", GetItemMetadata(contentItem).Identity.ToString());
- if (contentItem.IsPublished()) {
+ context.Data.SetAttributeValue("Id", GetItemMetadata(content).Identity.ToString());
+ if (content.IsPublished()) {
context.Data.SetAttributeValue("Status", Published);
}
else {
@@ -725,8 +731,8 @@ namespace Orchard.ContentManagement {
return _contentTypeRepository.Get(contentTypeId);
}
- public void Index(ContentItem contentItem, IDocumentIndex documentIndex) {
- var indexContentContext = new IndexContentContext(contentItem, documentIndex);
+ public void Index(IContent content, IDocumentIndex documentIndex) {
+ var indexContentContext = new IndexContentContext(content.ContentItem, documentIndex);
// dispatch to handlers to retrieve index information
Handlers.Invoke(handler => handler.Indexing(indexContentContext), Logger);
diff --git a/src/Orchard/ContentManagement/IContentManager.cs b/src/Orchard/ContentManagement/IContentManager.cs
index ca990aeb4..34e13fa49 100644
--- a/src/Orchard/ContentManagement/IContentManager.cs
+++ b/src/Orchard/ContentManagement/IContentManager.cs
@@ -24,14 +24,14 @@ namespace Orchard.ContentManagement {
/// Creates (persists) a new content item
///
/// The content item instance filled with all necessary data
- void Create(ContentItem contentItem);
+ void Create(IContent content);
///
/// Creates (persists) a new content item with the specified version
///
/// The content item instance filled with all necessary data
/// The version to create the item with
- void Create(ContentItem contentItem, VersionOptions options);
+ void Create(IContent content, VersionOptions options);
///
@@ -64,12 +64,12 @@ namespace Orchard.ContentManagement {
IEnumerable GetMany(IEnumerable ids, VersionOptions options, QueryHints hints) where T : class, IContent;
IEnumerable GetManyByVersionId(IEnumerable versionRecordIds, QueryHints hints) where T : class, IContent;
- void Publish(ContentItem contentItem);
- void Unpublish(ContentItem contentItem);
- void Remove(ContentItem contentItem);
- void Index(ContentItem contentItem, IDocumentIndex documentIndex);
+ void Publish(IContent content);
+ void Unpublish(IContent content);
+ void Remove(IContent content);
+ void Index(IContent content, IDocumentIndex documentIndex);
- XElement Export(ContentItem contentItem);
+ XElement Export(IContent content);
void Import(XElement element, ImportContentSession importContentSession);
///
@@ -83,11 +83,11 @@ namespace Orchard.ContentManagement {
IContentQuery Query();
IHqlQuery HqlQuery();
- ContentItemMetadata GetItemMetadata(IContent contentItem);
- IEnumerable GetEditorGroupInfos(IContent contentItem);
- IEnumerable GetDisplayGroupInfos(IContent contentItem);
- GroupInfo GetEditorGroupInfo(IContent contentItem, string groupInfoId);
- GroupInfo GetDisplayGroupInfo(IContent contentItem, string groupInfoId);
+ ContentItemMetadata GetItemMetadata(IContent content);
+ IEnumerable GetEditorGroupInfos(IContent content);
+ IEnumerable GetDisplayGroupInfos(IContent content);
+ GroupInfo GetEditorGroupInfo(IContent content, string groupInfoId);
+ GroupInfo GetDisplayGroupInfo(IContent content, string groupInfoId);
ContentItem ResolveIdentity(ContentIdentity contentIdentity);