diff --git a/src/Orchard.Web/Core/Themes/Views/Shared/EditorTemplates/ThemeSiteSettingsRecord.ascx b/src/Orchard.Web/Core/Themes/Views/Shared/EditorTemplates/ThemeSiteSettingsRecord.ascx deleted file mode 100644 index 19029941a..000000000 --- a/src/Orchard.Web/Core/Themes/Views/Shared/EditorTemplates/ThemeSiteSettingsRecord.ascx +++ /dev/null @@ -1,10 +0,0 @@ -<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> -<%@ Import Namespace="Orchard.Core.Themes.Records"%> -

Themes

-
    -
  1. - <%= Html.LabelFor(x=>x.CurrentThemeName) %> - <%= Html.EditorFor(x=>x.CurrentThemeName) %> - <%= Html.ValidationMessage("CurrentThemeName", "*")%> -
  2. -
diff --git a/src/Orchard.Web/Core/Themes/Views/Shared/layout.ascx b/src/Orchard.Web/Core/Themes/Views/Shared/layout.ascx deleted file mode 100644 index f701965ff..000000000 --- a/src/Orchard.Web/Core/Themes/Views/Shared/layout.ascx +++ /dev/null @@ -1,21 +0,0 @@ -<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> -<%@ Import Namespace="Orchard.Mvc.ViewModels"%> -<%@ Import Namespace="Orchard.Mvc.Html" %><% -Html.RegisterStyle("site.css"); %> -
- -
<% - Html.ZoneBody("content"); -%> -
-
\ No newline at end of file diff --git a/src/Orchard.Web/Core/Themes/Views/Shared/menu.ascx b/src/Orchard.Web/Core/Themes/Views/Shared/menu.ascx deleted file mode 100644 index bc50f53c3..000000000 --- a/src/Orchard.Web/Core/Themes/Views/Shared/menu.ascx +++ /dev/null @@ -1,9 +0,0 @@ -<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> - \ No newline at end of file diff --git a/src/Orchard.Web/Core/Themes/Views/Shared/user.ascx b/src/Orchard.Web/Core/Themes/Views/Shared/user.ascx deleted file mode 100644 index 1f170c1a8..000000000 --- a/src/Orchard.Web/Core/Themes/Views/Shared/user.ascx +++ /dev/null @@ -1,8 +0,0 @@ -<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> -
<% -if (Request.IsAuthenticated) { - %>Welcome <%=Html.Encode(Page.User.Identity.Name) %>! [<%=Html.ActionLink("Log Off", "LogOff", "Account", new { area = "" }, new { }) %>]<% -} else { - %>[<%=Html.ActionLink("Log On", "LogOn", "Account", new{area=""}, new{}) %>]<% -} -%>
\ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/ActivatedContentContext.cs b/src/Orchard/ContentManagement/Driver/ActivatedContentContext.cs deleted file mode 100644 index 2f7f7c8e3..000000000 --- a/src/Orchard/ContentManagement/Driver/ActivatedContentContext.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public class ActivatedContentContext { - public string ContentType { get; set; } - public ContentItem ContentItem { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/ActivatingContentContext.cs b/src/Orchard/ContentManagement/Driver/ActivatingContentContext.cs deleted file mode 100644 index de3bb8a8d..000000000 --- a/src/Orchard/ContentManagement/Driver/ActivatingContentContext.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public class ActivatingContentContext { - public string ContentType { get; set; } - public ContentItemBuilder Builder { get; set; } - } -} diff --git a/src/Orchard/ContentManagement/Driver/ActivatingFilter.cs b/src/Orchard/ContentManagement/Driver/ActivatingFilter.cs deleted file mode 100644 index 063526341..000000000 --- a/src/Orchard/ContentManagement/Driver/ActivatingFilter.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Linq; - -namespace Orchard.ContentManagement.Handlers { - public class ActivatingFilter : IContentActivatingFilter where TPart : ContentPart, new() { - private readonly Func _predicate; - - public ActivatingFilter(Func predicate) { - _predicate = predicate; - } - - public ActivatingFilter(params string[] contentTypes) - : this(contentType => contentTypes.Contains(contentType)) { - } - - public void Activating(ActivatingContentContext context) { - if (_predicate(context.ContentType)) - context.Builder.Weld(); - } - } - -} diff --git a/src/Orchard/ContentManagement/Driver/BuildDisplayModelContext.cs b/src/Orchard/ContentManagement/Driver/BuildDisplayModelContext.cs deleted file mode 100644 index 0b9311927..000000000 --- a/src/Orchard/ContentManagement/Driver/BuildDisplayModelContext.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Linq; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class BuildDisplayModelContext { - public BuildDisplayModelContext(ItemDisplayModel displayModel, string displayType) { - ContentItem = displayModel.Item; - DisplayType = displayType; - DisplayModel = displayModel; - } - - public ContentItem ContentItem { get; private set; } - public string DisplayType { get; private set; } - public ItemDisplayModel DisplayModel { get; private set; } - - public void AddDisplay(TemplateViewModel display) { - DisplayModel.Displays = DisplayModel.Displays.Concat(new[] { display }); - } - } -} diff --git a/src/Orchard/ContentManagement/Driver/BuildEditorModelContext.cs b/src/Orchard/ContentManagement/Driver/BuildEditorModelContext.cs deleted file mode 100644 index a12391f7d..000000000 --- a/src/Orchard/ContentManagement/Driver/BuildEditorModelContext.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Linq; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class BuildEditorModelContext { - public BuildEditorModelContext(ItemEditorModel editorModel) { - ContentItem = editorModel.Item; - EditorModel = editorModel; - } - - public ContentItem ContentItem { get; set; } - public ItemEditorModel EditorModel { get; set; } - - public void AddEditor(TemplateViewModel editor) { - EditorModel.Editors = EditorModel.Editors.Concat(new[] { editor }); - } - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/ContentHandler.cs b/src/Orchard/ContentManagement/Driver/ContentHandler.cs deleted file mode 100644 index 09a7615e7..000000000 --- a/src/Orchard/ContentManagement/Driver/ContentHandler.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Orchard.Logging; - -namespace Orchard.ContentManagement.Handlers { - public abstract class ContentHandler : IContentHandler { - protected ContentHandler() { - Filters = new List(); - Logger = NullLogger.Instance; - } - - public List Filters { get; set; } - public ILogger Logger { get; set; } - - protected void OnActivated(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnActivated = handler }); - } - - protected void OnCreating(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnCreating = handler }); - } - - protected void OnCreated(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnCreated = handler }); - } - - protected void OnLoading(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnLoading = handler }); - } - - protected void OnLoaded(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnLoaded = handler }); - } - - protected void OnGetItemMetadata(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnGetItemMetadata = handler }); - } - protected void OnGetDisplayViewModel(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnGetDisplayViewModel = handler }); - } - - protected void OnGetEditorViewModel(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnGetEditorViewModel = handler }); - } - - protected void OnUpdateEditorViewModel(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnUpdateEditorViewModel = handler }); - } - - class InlineStorageFilter : StorageFilterBase where TPart : class, IContent { - public Action OnActivated { get; set; } - public Action OnCreating { get; set; } - public Action OnCreated { get; set; } - public Action OnLoading { get; set; } - public Action OnLoaded { get; set; } - protected override void Activated(ActivatedContentContext context, TPart instance) { - if (OnActivated != null) OnActivated(context, instance); - } - protected override void Creating(CreateContentContext context, TPart instance) { - if (OnCreating != null) OnCreating(context, instance); - } - protected override void Created(CreateContentContext context, TPart instance) { - if (OnCreated != null) OnCreated(context, instance); - } - protected override void Loading(LoadContentContext context, TPart instance) { - if (OnLoading != null) OnLoading(context, instance); - } - protected override void Loaded(LoadContentContext context, TPart instance) { - if (OnLoaded != null) OnLoaded(context, instance); - } - } - - class InlineTemplateFilter : TemplateFilterBase where TPart : class, IContent { - public Action OnGetItemMetadata { get; set; } - public Action OnGetDisplayViewModel { get; set; } - public Action OnGetEditorViewModel { get; set; } - public Action OnUpdateEditorViewModel { get; set; } - protected override void GetItemMetadata(GetItemMetadataContext context, TPart instance) { - if (OnGetItemMetadata != null) OnGetItemMetadata(context, instance); - } - protected override void BuildDisplayModel(BuildDisplayModelContext context, TPart instance) { - if (OnGetDisplayViewModel != null) OnGetDisplayViewModel(context, instance); - } - protected override void BuildEditorModel(BuildEditorModelContext context, TPart instance) { - if (OnGetEditorViewModel != null) OnGetEditorViewModel(context, instance); - } - protected override void UpdateEditorModel(UpdateEditorModelContext context, TPart instance) { - if (OnUpdateEditorViewModel != null) OnUpdateEditorViewModel(context, instance); - } - } - - public virtual IEnumerable GetContentTypes() { - return Enumerable.Empty(); - } - - void IContentHandler.Activating(ActivatingContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Activating(context); - Activating(context); - } - - void IContentHandler.Activated(ActivatedContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Activated(context); - Activated(context); - } - - void IContentHandler.Creating(CreateContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Creating(context); - Creating(context); - } - - void IContentHandler.Created(CreateContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Created(context); - Created(context); - } - - void IContentHandler.Loading(LoadContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Loading(context); - Loading(context); - } - - void IContentHandler.Loaded(LoadContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Loaded(context); - Loaded(context); - } - - - void IContentHandler.GetItemMetadata(GetItemMetadataContext context) { - foreach (var filter in Filters.OfType()) - filter.GetItemMetadata(context); - GetItemMetadata(context); - } - void IContentHandler.BuildDisplayModel(BuildDisplayModelContext context) { - foreach (var filter in Filters.OfType()) - filter.BuildDisplayModel(context); - BuildDisplayModel(context); - } - void IContentHandler.BuildEditorModel(BuildEditorModelContext context) { - foreach (var filter in Filters.OfType()) - filter.BuildEditorModel(context); - BuildEditorModel(context); - } - void IContentHandler.UpdateEditorModel(UpdateEditorModelContext context) { - foreach (var filter in Filters.OfType()) - filter.UpdateEditorModel(context); - UpdateEditorModel(context); - } - - protected virtual void Activating(ActivatingContentContext context) { } - protected virtual void Activated(ActivatedContentContext context) { } - - protected virtual void Loading(LoadContentContext context) { } - protected virtual void Loaded(LoadContentContext context) { } - - protected virtual void Creating(CreateContentContext context) { } - protected virtual void Created(CreateContentContext context) { } - - protected virtual void GetItemMetadata(GetItemMetadataContext context) { } - protected virtual void BuildDisplayModel(BuildDisplayModelContext context) { } - protected virtual void BuildEditorModel(BuildEditorModelContext context) { } - protected virtual void UpdateEditorModel(UpdateEditorModelContext context) {} - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/ContentItemBuilder.cs b/src/Orchard/ContentManagement/Driver/ContentItemBuilder.cs deleted file mode 100644 index 3ec2bbb59..000000000 --- a/src/Orchard/ContentManagement/Driver/ContentItemBuilder.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; - -namespace Orchard.ContentManagement.Handlers { - public class ContentItemBuilder { - private readonly ContentItem _item; - - public ContentItemBuilder(string contentType) { - _item = new ContentItem { ContentType = contentType }; - } - - public ContentItem Build() { - return _item; - } - - public ContentItemBuilder Weld() where TPart : ContentPart, new() { - var part = new TPart(); - _item.Weld(part); - return this; - } - } -} diff --git a/src/Orchard/ContentManagement/Driver/ContentItemTemplates.cs b/src/Orchard/ContentManagement/Driver/ContentItemTemplates.cs deleted file mode 100644 index fbec87e2a..000000000 --- a/src/Orchard/ContentManagement/Driver/ContentItemTemplates.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Linq; -using System.Web.Mvc; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class ContentItemTemplates : TemplateFilterBase where TContent : class, IContent { - private readonly string _templateName; - // todo: (heskew) use _prefix? - private readonly string _prefix; - private readonly string[] _displayTypes; - private Action> _updater; - - public ContentItemTemplates(string templateName) - : this(templateName, "") { - - } - - public ContentItemTemplates(string templateName, string displayTypes) { - _templateName = templateName; - _displayTypes = (displayTypes ?? "").Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - _updater = (context, viewModel) => context.Updater.TryUpdateModel(viewModel, "", null, null); - } - - protected override void BuildDisplayModel(BuildDisplayModelContext context, TContent instance) { - context.DisplayModel.TemplateName = _templateName; - var longestMatch = LongestMatch(context.DisplayType); - if (!string.IsNullOrEmpty(longestMatch)) - context.DisplayModel.TemplateName += "." + longestMatch; - - context.DisplayModel.Prefix = _prefix; - - if (context.DisplayModel.GetType() != typeof(ItemDisplayModel)) { - context.DisplayModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemDisplayModel(viewModel)) }, - html.RouteCollection); - }; - } - } - - class ViewDataContainer : IViewDataContainer { - public ViewDataDictionary ViewData { get; set; } - } - - private string LongestMatch(string displayType) { - if (string.IsNullOrEmpty(displayType)) - return displayType; - - return _displayTypes.Aggregate("", (best, x) => { - if (displayType.StartsWith(x) && x.Length > best.Length) return x; - return best; - }); - } - - protected override void BuildEditorModel(BuildEditorModelContext context, TContent instance) { - context.EditorModel.TemplateName = _templateName; - context.EditorModel.Prefix = _prefix; - if (context.EditorModel.GetType() != typeof(ItemEditorModel)) { - context.EditorModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemEditorModel(viewModel)) }, - html.RouteCollection); - }; - } - } - - protected override void UpdateEditorModel(UpdateEditorModelContext context, TContent instance) { - if (context.EditorModel is ItemEditorModel) - _updater(context, (ItemEditorModel)context.EditorModel); - else - _updater(context, new ItemEditorModel(context.EditorModel)); - context.EditorModel.TemplateName = _templateName; - context.EditorModel.Prefix = _prefix; - } - - public void Updater(Action> updater) { - _updater = updater; - } - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/CreateContentContext.cs b/src/Orchard/ContentManagement/Driver/CreateContentContext.cs deleted file mode 100644 index d2969847b..000000000 --- a/src/Orchard/ContentManagement/Driver/CreateContentContext.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Orchard.ContentManagement.Records; - -namespace Orchard.ContentManagement.Handlers { - public class CreateContentContext { - public int Id { get; set; } - public string ContentType { get; set; } - public ContentItemRecord ContentItemRecord { get; set; } - public ContentItem ContentItem { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/GetItemMetadataContext.cs b/src/Orchard/ContentManagement/Driver/GetItemMetadataContext.cs deleted file mode 100644 index d1686e8c7..000000000 --- a/src/Orchard/ContentManagement/Driver/GetItemMetadataContext.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public class GetItemMetadataContext { - public ContentItem ContentItem { get; set; } - public ContentItemMetadata Metadata { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/IContentActivatingFilter.cs b/src/Orchard/ContentManagement/Driver/IContentActivatingFilter.cs deleted file mode 100644 index 117e06fce..000000000 --- a/src/Orchard/ContentManagement/Driver/IContentActivatingFilter.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public interface IContentActivatingFilter : IContentFilter { - void Activating(ActivatingContentContext context); - } -} diff --git a/src/Orchard/ContentManagement/Driver/IContentFilter.cs b/src/Orchard/ContentManagement/Driver/IContentFilter.cs deleted file mode 100644 index fee7a6dd7..000000000 --- a/src/Orchard/ContentManagement/Driver/IContentFilter.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public interface IContentFilter { - } -} diff --git a/src/Orchard/ContentManagement/Driver/IContentHandler.cs b/src/Orchard/ContentManagement/Driver/IContentHandler.cs deleted file mode 100644 index 79e9f3e4b..000000000 --- a/src/Orchard/ContentManagement/Driver/IContentHandler.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections.Generic; - -namespace Orchard.ContentManagement.Handlers { - public interface IContentHandler : IEvents { - IEnumerable GetContentTypes(); - - void Activating(ActivatingContentContext context); - void Activated(ActivatedContentContext context); - void Creating(CreateContentContext context); - void Created(CreateContentContext context); - void Loading(LoadContentContext context); - void Loaded(LoadContentContext context); - - void GetItemMetadata(GetItemMetadataContext context); - void BuildDisplayModel(BuildDisplayModelContext context); - void BuildEditorModel(BuildEditorModelContext context); - void UpdateEditorModel(UpdateEditorModelContext context); - } -} diff --git a/src/Orchard/ContentManagement/Driver/IContentStorageFilter.cs b/src/Orchard/ContentManagement/Driver/IContentStorageFilter.cs deleted file mode 100644 index f7fd26c6f..000000000 --- a/src/Orchard/ContentManagement/Driver/IContentStorageFilter.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public interface IContentStorageFilter : IContentFilter { - void Activated(ActivatedContentContext context); - void Creating(CreateContentContext context); - void Created(CreateContentContext context); - void Loading(LoadContentContext context); - void Loaded(LoadContentContext context); - } -} diff --git a/src/Orchard/ContentManagement/Driver/IContentTemplateFilter.cs b/src/Orchard/ContentManagement/Driver/IContentTemplateFilter.cs deleted file mode 100644 index c94035e65..000000000 --- a/src/Orchard/ContentManagement/Driver/IContentTemplateFilter.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Orchard.ContentManagement.Handlers { - interface IContentTemplateFilter : IContentFilter { - void GetItemMetadata(GetItemMetadataContext context); - void BuildDisplayModel(BuildDisplayModelContext context); - void BuildEditorModel(BuildEditorModelContext context); - void UpdateEditorModel(UpdateEditorModelContext context); - } -} diff --git a/src/Orchard/ContentManagement/Driver/IUpdateModel.cs b/src/Orchard/ContentManagement/Driver/IUpdateModel.cs deleted file mode 100644 index 8592732a1..000000000 --- a/src/Orchard/ContentManagement/Driver/IUpdateModel.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Orchard.Localization; - -namespace Orchard.ContentManagement.Handlers { - public interface IUpdateModel { - bool TryUpdateModel(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) where TModel : class; - void AddModelError(string key, LocalizedString errorMessage); - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/LoadContentContext.cs b/src/Orchard/ContentManagement/Driver/LoadContentContext.cs deleted file mode 100644 index e92e409fc..000000000 --- a/src/Orchard/ContentManagement/Driver/LoadContentContext.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using Orchard.ContentManagement.Records; - -namespace Orchard.ContentManagement.Handlers { - public class LoadContentContext { - public int Id { get; set; } - public string ContentType { get; set; } - public ContentItemRecord ContentItemRecord { get; set; } - public ContentItem ContentItem { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/ContentManagement/Driver/StorageFilter.cs b/src/Orchard/ContentManagement/Driver/StorageFilter.cs deleted file mode 100644 index 587594119..000000000 --- a/src/Orchard/ContentManagement/Driver/StorageFilter.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Orchard.ContentManagement.Records; -using Orchard.Data; - -namespace Orchard.ContentManagement.Handlers { - public class StorageFilter : StorageFilterBase> where TRecord : ContentPartRecord,new() { - private readonly IRepository _repository; - - public StorageFilter(IRepository repository) { - _repository = repository; - } - - public bool AutomaticallyCreateMissingRecord { get; set; } - - protected override void Activated(ActivatedContentContext context, ContentPart instance) { - instance.Record = new TRecord(); - } - - protected override void Creating(CreateContentContext context, ContentPart instance) { - instance.Record.ContentItemRecord = context.ContentItemRecord; - _repository.Create(instance.Record); - } - - protected override void Loading(LoadContentContext context, ContentPart instance) { - var record = _repository.Get(instance.ContentItem.Id); - if (record != null) { - instance.Record = record; - } - else if (AutomaticallyCreateMissingRecord) { - instance.Record = new TRecord {ContentItemRecord = context.ContentItemRecord}; - _repository.Create(instance.Record); - } - } - } -} diff --git a/src/Orchard/ContentManagement/Driver/StorageFilterBase.cs b/src/Orchard/ContentManagement/Driver/StorageFilterBase.cs deleted file mode 100644 index cf0e02913..000000000 --- a/src/Orchard/ContentManagement/Driver/StorageFilterBase.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public abstract class StorageFilterBase : IContentStorageFilter where TPart : class, IContent { - - protected virtual void Activated(ActivatedContentContext context, TPart instance) { } - protected virtual void Creating(CreateContentContext context, TPart instance) { } - protected virtual void Created(CreateContentContext context, TPart instance) { } - protected virtual void Loading(LoadContentContext context, TPart instance) { } - protected virtual void Loaded(LoadContentContext context, TPart instance) { } - - - void IContentStorageFilter.Activated(ActivatedContentContext context) { - if (context.ContentItem.Is()) - Activated(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Creating(CreateContentContext context) { - if (context.ContentItem.Is()) - Creating(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Created(CreateContentContext context) { - if (context.ContentItem.Is()) - Created(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Loading(LoadContentContext context) { - if (context.ContentItem.Is()) - Loading(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Loaded(LoadContentContext context) { - if (context.ContentItem.Is()) - Loaded(context, context.ContentItem.As()); - } - } -} diff --git a/src/Orchard/ContentManagement/Driver/TemplateFilterBase.cs b/src/Orchard/ContentManagement/Driver/TemplateFilterBase.cs deleted file mode 100644 index 77fd43d98..000000000 --- a/src/Orchard/ContentManagement/Driver/TemplateFilterBase.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Orchard.ContentManagement.Handlers { - public abstract class TemplateFilterBase : IContentTemplateFilter where TPart : class, IContent { - - protected virtual void GetItemMetadata(GetItemMetadataContext context, TPart instance) { } - protected virtual void BuildDisplayModel(BuildDisplayModelContext context, TPart instance) { } - protected virtual void BuildEditorModel(BuildEditorModelContext context, TPart instance) { } - protected virtual void UpdateEditorModel(UpdateEditorModelContext context, TPart instance) { } - - void IContentTemplateFilter.GetItemMetadata(GetItemMetadataContext context) { - if (context.ContentItem.Is()) - GetItemMetadata(context, context.ContentItem.As()); - } - - void IContentTemplateFilter.BuildDisplayModel(BuildDisplayModelContext context) { - if (context.ContentItem.Is()) - BuildDisplayModel(context, context.ContentItem.As()); - } - - void IContentTemplateFilter.BuildEditorModel(BuildEditorModelContext context) { - if (context.ContentItem.Is()) - BuildEditorModel(context, context.ContentItem.As()); - } - - void IContentTemplateFilter.UpdateEditorModel(UpdateEditorModelContext context) { - if (context.ContentItem.Is()) - UpdateEditorModel(context, context.ContentItem.As()); - } - - } -} diff --git a/src/Orchard/ContentManagement/Driver/TemplateFilterForRecord.cs b/src/Orchard/ContentManagement/Driver/TemplateFilterForRecord.cs deleted file mode 100644 index 689744e94..000000000 --- a/src/Orchard/ContentManagement/Driver/TemplateFilterForRecord.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Orchard.ContentManagement.Records; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class TemplateFilterForRecord : TemplateFilterBase> where TRecord : ContentPartRecord, new() { - private readonly string _prefix; - private readonly string _templateName; - - public TemplateFilterForRecord(string prefix, string templateName) { - _prefix = prefix; - _templateName = templateName; - } - - protected override void BuildEditorModel(BuildEditorModelContext context, ContentPart part) { - context.AddEditor(new TemplateViewModel(part.Record, _prefix) { TemplateName = _templateName }); - } - - protected override void UpdateEditorModel(UpdateEditorModelContext context, ContentPart part) { - context.Updater.TryUpdateModel(part.Record, _prefix, null, null); - context.AddEditor(new TemplateViewModel(part.Record, _prefix) { TemplateName = _templateName }); - } - } -} diff --git a/src/Orchard/ContentManagement/Driver/UpdateEditorModelContext.cs b/src/Orchard/ContentManagement/Driver/UpdateEditorModelContext.cs deleted file mode 100644 index 50f433744..000000000 --- a/src/Orchard/ContentManagement/Driver/UpdateEditorModelContext.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class UpdateEditorModelContext : BuildEditorModelContext { - public UpdateEditorModelContext(ItemEditorModel editorModel, IUpdateModel updater) - : base(editorModel) { - Updater = updater; - } - - public IUpdateModel Updater { get; private set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Aspects/ICommonAspect.cs b/src/Orchard/Models/Aspects/ICommonAspect.cs deleted file mode 100644 index 8139c6ee7..000000000 --- a/src/Orchard/Models/Aspects/ICommonAspect.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Orchard.Security; - -namespace Orchard.ContentManagement.Aspects { - public interface ICommonAspect : IContent { - DateTime? CreatedUtc { get; set; } - DateTime? ModifiedUtc { get; set; } - IUser Owner { get; set; } - IContent Container { get; set; } - } -} diff --git a/src/Orchard/Models/ContentExtensions.cs b/src/Orchard/Models/ContentExtensions.cs deleted file mode 100644 index 1da02ba3d..000000000 --- a/src/Orchard/Models/ContentExtensions.cs +++ /dev/null @@ -1,120 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Orchard.ContentManagement.Handlers; -using Orchard.ContentManagement.Records; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement { - - public static class ContentExtensions { - - /* Item creation and accessing extension methods */ - - public static T New(this IContentManager manager, string contentType) where T : class, IContent { - var contentItem = manager.New(contentType); - if (contentItem == null) - return null; - - var part = contentItem.Get(); - if (part == null) - throw new InvalidCastException(); - - return part; - } - - public static T Create(this IContentManager manager, string contentType) where T : class, IContent { - return manager.Create(contentType, init => { }); - } - - public static T Create(this IContentManager manager, string contentType, Action initialize) where T : class, IContent { - var content = manager.New(contentType); - if (content == null) - return null; - - initialize(content); - manager.Create(content.ContentItem); - return content; - } - - public static T Get(this IContentManager manager, int id) where T : class, IContent { - var contentItem = manager.Get(id); - return contentItem == null ? null : contentItem.Get(); - } - - - /* Display and editor convenience extension methods */ - - public static ItemDisplayModel BuildDisplayModel(this IContentManager manager, int id, string displayType) where T : class, IContent { - return manager.BuildDisplayModel(manager.Get(id), displayType); - } - - public static ItemEditorModel BuildEditorModel(this IContentManager manager, int id) where T : class, IContent { - return manager.BuildEditorModel(manager.Get(id)); - } - - public static ItemEditorModel UpdateEditorModel(this IContentManager manager, int id, IUpdateModel updater) where T : class, IContent { - return manager.UpdateEditorModel(manager.Get(id), updater); - } - - - /* Query related extension methods */ - - public static IContentQuery Query(this IContentManager manager) - where TPart : ContentPart { - return manager.Query().ForPart(); - } - public static IContentQuery Query(this IContentManager manager) - where TPart : ContentPart - where TRecord : ContentPartRecord { - return manager.Query().ForPart().Join(); - } - - public static IContentQuery Query(this IContentManager manager, params string[] contentTypeNames) { - return manager.Query().ForType(contentTypeNames); - } - public static IContentQuery Query(this IContentManager manager, params string[] contentTypeNames) where TPart : ContentPart { - return manager.Query().ForPart().ForType(contentTypeNames); - } - public static IContentQuery Query(this IContentManager manager, params string[] contentTypeNames) where TPart : ContentPart where TRecord : ContentPartRecord { - return manager.Query().ForPart().ForType(contentTypeNames).Join(); - } - - - - public static IEnumerable List(this IContentManager manager, params string[] contentTypeNames) where T : ContentPart { - return manager.Query(contentTypeNames).List(); - } - - public static IEnumerable List(this IContentQuery query) where T : IContent { - return query.ForPart().List(); - } - - public static IEnumerable Slice(this IContentQuery query, int count) where T : IContent { - return query.Slice(0, count); - } - - - /* Aggregate item/part type casting extension methods */ - - public static bool Is(this IContent content) { - return content == null ? false : content.ContentItem.Has(typeof(T)); - } - public static T As(this IContent content) where T : IContent { - return content == null ? default(T) : (T)content.ContentItem.Get(typeof(T)); - } - - public static bool Has(this IContent content) { - return content == null ? false : content.ContentItem.Has(typeof(T)); - } - public static T Get(this IContent content) where T : IContent { - return content == null ? default(T) : (T)content.ContentItem.Get(typeof(T)); - } - - - public static IEnumerable AsPart(this IEnumerable items) where T : IContent { - return items == null ? null : items.Where(item => item.Is()).Select(item => item.As()); - } - - } -} diff --git a/src/Orchard/Models/ContentItem.cs b/src/Orchard/Models/ContentItem.cs deleted file mode 100644 index f4ab684b6..000000000 --- a/src/Orchard/Models/ContentItem.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Orchard.ContentManagement.Records; - -namespace Orchard.ContentManagement { - public class ContentItem : IContent { - public ContentItem() { - _parts = new List(); - } - - - private readonly IList _parts; - ContentItem IContent.ContentItem { get { return this; } } - - public int Id { get; set; } - public string ContentType { get; set; } - public ContentItemRecord Record { get; set; } - - public IEnumerable Parts { get { return _parts; } } - - public IContentManager ContentManager { get; set; } - - public bool Has(Type partType) { - return partType==typeof(ContentItem) || _parts.Any(part => partType.IsAssignableFrom(part.GetType())); - } - - public IContent Get(Type partType) { - if (partType == typeof(ContentItem)) - return this; - return _parts.FirstOrDefault(part => partType.IsAssignableFrom(part.GetType())); - } - - public void Weld(ContentPart part) { - part.ContentItem = this; - _parts.Add(part); - } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/ContentItemMetadata.cs b/src/Orchard/Models/ContentItemMetadata.cs deleted file mode 100644 index c35225e2f..000000000 --- a/src/Orchard/Models/ContentItemMetadata.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; -using System.Web.Routing; - -namespace Orchard.ContentManagement { - public class ContentItemMetadata { - public string DisplayText { get; set; } - public RouteValueDictionary DisplayRouteValues { get; set; } - public RouteValueDictionary EditorRouteValues { get; set; } - - public IEnumerable DisplayGroups { get; set; } - public IEnumerable EditorGroups { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/ContentModule.cs b/src/Orchard/Models/ContentModule.cs deleted file mode 100644 index 6b7e15f4d..000000000 --- a/src/Orchard/Models/ContentModule.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Autofac.Builder; - -namespace Orchard.ContentManagement { - public class ContentModule : Module { - protected override void Load(ContainerBuilder builder) { - builder.Register().As().FactoryScoped(); - } - } -} diff --git a/src/Orchard/Models/ContentPart.cs b/src/Orchard/Models/ContentPart.cs deleted file mode 100644 index 1b56b8fc1..000000000 --- a/src/Orchard/Models/ContentPart.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Orchard.ContentManagement { - public abstract class ContentPart : IContent { - public virtual ContentItem ContentItem { get; set; } - } - - public class ContentPart : ContentPart { - public TRecord Record { get; set; } - } - -} diff --git a/src/Orchard/Models/ContentType.cs b/src/Orchard/Models/ContentType.cs deleted file mode 100644 index af888d428..000000000 --- a/src/Orchard/Models/ContentType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Orchard.ContentManagement { - public class ContentType { - public string Name { get; set; } - public string DisplayName { get; set; } - } -} diff --git a/src/Orchard/Models/DefaultContentManager.cs b/src/Orchard/Models/DefaultContentManager.cs deleted file mode 100644 index f733bfc8d..000000000 --- a/src/Orchard/Models/DefaultContentManager.cs +++ /dev/null @@ -1,191 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Autofac; -using Orchard.ContentManagement.Handlers; -using Orchard.ContentManagement.Records; -using Orchard.ContentManagement.ViewModels; -using Orchard.Data; -using Orchard.UI.Navigation; - -namespace Orchard.ContentManagement { - public class DefaultContentManager : IContentManager { - private readonly IContext _context; - private readonly IRepository _contentItemRepository; - private readonly IRepository _contentTypeRepository; - - public DefaultContentManager( - IContext context, - IRepository contentItemRepository, - IRepository contentTypeRepository) { - _context = context; - _contentItemRepository = contentItemRepository; - _contentTypeRepository = contentTypeRepository; - } - - private IEnumerable _handlers; - public IEnumerable Handlers { - get { - if (_handlers == null) - _handlers = _context.Resolve>(); - return _handlers; - } - } - - public IEnumerable GetContentTypes() { - return Handlers.Aggregate( - Enumerable.Empty(), - (types, handler) => types.Concat(handler.GetContentTypes())); - } - - public virtual ContentItem New(string contentType) { - - // create a new kernel for the model instance - var context = new ActivatingContentContext { - ContentType = contentType, - Builder = new ContentItemBuilder(contentType) - }; - - // invoke handlers to weld aspects onto kernel - foreach (var handler in Handlers) { - handler.Activating(context); - } - var context2 = new ActivatedContentContext { - ContentType = contentType, - ContentItem = context.Builder.Build() - }; - - // back-reference for convenience (e.g. getting metadata when in a view) - context2.ContentItem.ContentManager = this; - - foreach (var handler in Handlers) { - handler.Activated(context2); - } - - // composite result is returned - return context2.ContentItem; - } - - public virtual ContentItem Get(int id) { - // obtain root record to determine the model type - var record = _contentItemRepository.Get(id); - - // no record of that id means content item doesn't exist - if (record == null) - return null; - - // allocate instance and set record property - var contentItem = New(record.ContentType.Name); - contentItem.Id = record.Id; - contentItem.Record = record; - - // create a context with a new instance to load - var context = new LoadContentContext { - Id = contentItem.Id, - ContentType = contentItem.ContentType, - ContentItemRecord = record, - ContentItem = contentItem, - }; - - // invoke handlers to acquire state, or at least establish lazy loading callbacks - foreach (var handler in Handlers) { - handler.Loading(context); - } - foreach (var handler in Handlers) { - handler.Loaded(context); - } - - return context.ContentItem; - } - - public void Create(ContentItem contentItem) { - // produce root record to determine the model id - var modelRecord = new ContentItemRecord { ContentType = AcquireContentTypeRecord(contentItem.ContentType) }; - _contentItemRepository.Create(modelRecord); - contentItem.Record = modelRecord; - - // build a context with the initialized instance to create - var context = new CreateContentContext { - Id = modelRecord.Id, - ContentType = modelRecord.ContentType.Name, - ContentItemRecord = modelRecord, - ContentItem = contentItem - }; - - // set the id - context.ContentItem.Id = context.Id; - - - // invoke handlers to add information to persistent stores - foreach (var handler in Handlers) { - handler.Creating(context); - } - foreach (var handler in Handlers) { - handler.Created(context); - } - } - - public ContentItemMetadata GetItemMetadata(IContent content) { - var context = new GetItemMetadataContext { - ContentItem = content.ContentItem, - Metadata = new ContentItemMetadata() - }; - foreach (var handler in Handlers) { - handler.GetItemMetadata(context); - } - return context.Metadata; - } - - public ItemDisplayModel BuildDisplayModel(TContentPart content, string displayType) where TContentPart : IContent { - var itemView = new ItemDisplayModel {Item = content, Displays = Enumerable.Empty()}; - var context = new BuildDisplayModelContext(itemView, displayType); - foreach (var handler in Handlers) { - handler.BuildDisplayModel(context); - } - context.DisplayModel.Displays = OrderTemplates(context.DisplayModel.Displays); - return itemView; - } - - public ItemEditorModel BuildEditorModel(TContentPart content) where TContentPart : IContent { - var itemView = new ItemEditorModel { Item = content, Editors = Enumerable.Empty() }; - var context = new BuildEditorModelContext(itemView); - foreach (var handler in Handlers) { - handler.BuildEditorModel(context); - } - context.EditorModel.Editors = OrderTemplates(context.EditorModel.Editors); - return itemView; - } - - public ItemEditorModel UpdateEditorModel(TContentPart content, IUpdateModel updater) where TContentPart : IContent { - var itemView = new ItemEditorModel { Item = content, Editors = Enumerable.Empty() }; - - var context = new UpdateEditorModelContext(itemView, updater); - foreach (var handler in Handlers) { - handler.UpdateEditorModel(context); - } - context.EditorModel.Editors = OrderTemplates(context.EditorModel.Editors); - return itemView; - } - - private static IEnumerable OrderTemplates(IEnumerable templates) { - var comparer = new PositionComparer(); - //TODO: rethink this comparison because it adds a requirement on naming zones. - return templates.OrderBy(x => (x.ZoneName ?? "*") + "." + (x.Position ?? "5"), comparer); - } - - public IContentQuery Query() { - var query = _context.Resolve(TypedParameter.From(this)); - return query.ForPart(); - } - - private ContentTypeRecord AcquireContentTypeRecord(string contentType) { - var contentTypeRecord = _contentTypeRepository.Get(x => x.Name == contentType); - if (contentTypeRecord == null) { - //TEMP: this is not safe... ContentItem types could be created concurrently? - contentTypeRecord = new ContentTypeRecord { Name = contentType }; - _contentTypeRepository.Create(contentTypeRecord); - } - return contentTypeRecord; - } - } -} diff --git a/src/Orchard/Models/DefaultContentQuery.cs b/src/Orchard/Models/DefaultContentQuery.cs deleted file mode 100644 index beb0a4e77..000000000 --- a/src/Orchard/Models/DefaultContentQuery.cs +++ /dev/null @@ -1,209 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using NHibernate; -using NHibernate.Criterion; -using NHibernate.Impl; -using NHibernate.Linq; -using Orchard.ContentManagement.Records; -using Orchard.Data; - -namespace Orchard.ContentManagement { - public class DefaultContentQuery : IContentQuery { - private readonly ISessionLocator _sessionLocator; - private ISession _session; - private ICriteria _itemCriteria; - - public DefaultContentQuery(IContentManager contentManager, ISessionLocator sessionLocator) { - _sessionLocator = sessionLocator; - ContentManager = contentManager; - } - - public IContentManager ContentManager { get; private set; } - - ISession BindSession() { - if (_session == null) - _session = _sessionLocator.For(typeof(ContentItemRecord)); - return _session; - } - - ICriteria BindItemCriteria() { - if (_itemCriteria == null) { - _itemCriteria = BindSession().CreateCriteria(); - } - return _itemCriteria; - } - - ICriteria BindCriteriaByPath(string path) { - var itemCriteria = BindItemCriteria(); - - // special if the content item is ever used as where or order - if (path == typeof(ContentItemRecord).Name) - return itemCriteria; - - return itemCriteria.GetCriteriaByPath(path) ?? itemCriteria.CreateCriteria(path); - } - - - private void ForType(params string[] contentTypeNames) { - BindCriteriaByPath("ContentType").Add(Restrictions.InG("Name", contentTypeNames)); - return; - } - - - private void Where() { - // this simply demands an inner join - BindCriteriaByPath(typeof(TRecord).Name); - return; - } - - private void Where(Expression> predicate) { - - // build a linq to nhibernate expression - var options = new QueryOptions(); - var queryProvider = new NHibernateQueryProvider(BindSession(), options); - var queryable = new Query(queryProvider, options).Where(predicate); - - // translate it into the nhibernate ICriteria implementation - var criteria = (CriteriaImpl)queryProvider.TranslateExpression(queryable.Expression); - - // attach the criterion from the predicate to this query's criteria for the record - var recordCriteria = BindCriteriaByPath(typeof(TRecord).Name); - foreach (var expressionEntry in criteria.IterateExpressionEntries()) { - recordCriteria.Add(expressionEntry.Criterion); - } - - return; - } - - private void OrderBy(Expression> keySelector) { - // build a linq to nhibernate expression - var options = new QueryOptions(); - var queryProvider = new NHibernateQueryProvider(BindSession(), options); - var queryable = new Query(queryProvider, options).OrderBy(keySelector); - - // translate it into the nhibernate ordering - var criteria = (CriteriaImpl)queryProvider.TranslateExpression(queryable.Expression); - - // attaching orderings to the query's criteria - var recordCriteria = BindCriteriaByPath(typeof(TRecord).Name); - foreach (var ordering in criteria.IterateOrderings()) { - recordCriteria.AddOrder(ordering.Order); - } - - return; - } - - private void OrderByDescending(Expression> keySelector) { - // build a linq to nhibernate expression - var options = new QueryOptions(); - var queryProvider = new NHibernateQueryProvider(BindSession(), options); - var queryable = new Query(queryProvider, options).OrderByDescending(keySelector); - - // translate it into the nhibernate ICriteria implementation - var criteria = (CriteriaImpl)queryProvider.TranslateExpression(queryable.Expression); - - // attaching orderings to the query's criteria - var recordCriteria = BindCriteriaByPath(typeof(TRecord).Name); - foreach (var ordering in criteria.IterateOrderings()) { - recordCriteria.AddOrder(ordering.Order); - } - return; - } - - private IEnumerable List() { - return BindItemCriteria() - .List() - .Select(x => ContentManager.Get(x.Id)); - } - - private IEnumerable Slice(int skip, int count) { - var criteria = BindItemCriteria(); - if (skip != 0) - criteria = criteria.SetFirstResult(skip); - if (count != 0) - criteria = criteria.SetMaxResults(count); - return criteria - .List() - .Select(x => ContentManager.Get(x.Id)); - } - - IContentQuery IContentQuery.ForPart() { - return new ContentQuery(this); - } - - class ContentQuery : IContentQuery where T : IContent { - protected readonly DefaultContentQuery _query; - - public ContentQuery(DefaultContentQuery query) { - _query = query; - } - - public IContentManager ContentManager { - get { return _query.ContentManager; } - } - - public IContentQuery ForPart() where TPart : IContent { - return new ContentQuery(_query); - } - - public IContentQuery ForType(params string[] contentTypes) { - _query.ForType(contentTypes); - return this; - } - - public IEnumerable List() { - return _query.List().AsPart(); - } - - public IEnumerable Slice(int skip, int count) { - return _query.Slice(skip, count).AsPart(); - } - - public IContentQuery Join() where TRecord : ContentPartRecord { - _query.Where(); - return new ContentQuery(_query); - } - - public IContentQuery Where(Expression> predicate) where TRecord : ContentPartRecord { - _query.Where(predicate); - return new ContentQuery(_query); - } - - public IContentQuery OrderBy(Expression> keySelector) where TRecord : ContentPartRecord { - _query.OrderBy(keySelector); - return new ContentQuery(_query); - } - - public IContentQuery OrderByDescending(Expression> keySelector) where TRecord : ContentPartRecord { - _query.OrderByDescending(keySelector); - return new ContentQuery(_query); - } - } - - class ContentQuery : ContentQuery, IContentQuery - where T : IContent - where TR : ContentPartRecord { - public ContentQuery(DefaultContentQuery query) - : base(query) { - } - - public IContentQuery Where(Expression> predicate) { - _query.Where(predicate); - return this; - } - - public IContentQuery OrderBy(Expression> keySelector) { - _query.OrderBy(keySelector); - return this; - } - - public IContentQuery OrderByDescending(Expression> keySelector) { - _query.OrderByDescending(keySelector); - return this; - } - } - - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Diagram.cd b/src/Orchard/Models/Diagram.cd deleted file mode 100644 index 6fc3fb202..000000000 --- a/src/Orchard/Models/Diagram.cd +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - AAACAAAAAAACAAhAABAAAAAAAAAAQABAAAAQAAAEBAA= - Models\ContentItem.cs - - - - - - - - - - - - - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAA= - Models\ContentPart.cs - - - - - - - - - - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAA= - Models\ContentPart.cs - - - - - - AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAA= - Models\Records\ContentItemRecord.cs - - - - - - - - - AAACAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA= - Models\Records\ContentTypeRecord.cs - - - - - - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAA= - Models\IContent.cs - - - - - - AAAAEAAAAAAAACBBAIAAAAAAAAEAAEgAAACAAAAAAAA= - Models\IContentManager.cs - - - - - - AAAAEAAAAAEAAABBAIAAAIAAACEAAAQAAACAAAAAAAg= - Models\Driver\IContentHandler.cs - - - - \ No newline at end of file diff --git a/src/Orchard/Models/Driver/ActivatedContentContext.cs b/src/Orchard/Models/Driver/ActivatedContentContext.cs deleted file mode 100644 index 2f7f7c8e3..000000000 --- a/src/Orchard/Models/Driver/ActivatedContentContext.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public class ActivatedContentContext { - public string ContentType { get; set; } - public ContentItem ContentItem { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/ActivatingContentContext.cs b/src/Orchard/Models/Driver/ActivatingContentContext.cs deleted file mode 100644 index de3bb8a8d..000000000 --- a/src/Orchard/Models/Driver/ActivatingContentContext.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public class ActivatingContentContext { - public string ContentType { get; set; } - public ContentItemBuilder Builder { get; set; } - } -} diff --git a/src/Orchard/Models/Driver/ActivatingFilter.cs b/src/Orchard/Models/Driver/ActivatingFilter.cs deleted file mode 100644 index 063526341..000000000 --- a/src/Orchard/Models/Driver/ActivatingFilter.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Linq; - -namespace Orchard.ContentManagement.Handlers { - public class ActivatingFilter : IContentActivatingFilter where TPart : ContentPart, new() { - private readonly Func _predicate; - - public ActivatingFilter(Func predicate) { - _predicate = predicate; - } - - public ActivatingFilter(params string[] contentTypes) - : this(contentType => contentTypes.Contains(contentType)) { - } - - public void Activating(ActivatingContentContext context) { - if (_predicate(context.ContentType)) - context.Builder.Weld(); - } - } - -} diff --git a/src/Orchard/Models/Driver/BuildDisplayModelContext.cs b/src/Orchard/Models/Driver/BuildDisplayModelContext.cs deleted file mode 100644 index 0b9311927..000000000 --- a/src/Orchard/Models/Driver/BuildDisplayModelContext.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Linq; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class BuildDisplayModelContext { - public BuildDisplayModelContext(ItemDisplayModel displayModel, string displayType) { - ContentItem = displayModel.Item; - DisplayType = displayType; - DisplayModel = displayModel; - } - - public ContentItem ContentItem { get; private set; } - public string DisplayType { get; private set; } - public ItemDisplayModel DisplayModel { get; private set; } - - public void AddDisplay(TemplateViewModel display) { - DisplayModel.Displays = DisplayModel.Displays.Concat(new[] { display }); - } - } -} diff --git a/src/Orchard/Models/Driver/BuildEditorModelContext.cs b/src/Orchard/Models/Driver/BuildEditorModelContext.cs deleted file mode 100644 index a12391f7d..000000000 --- a/src/Orchard/Models/Driver/BuildEditorModelContext.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Linq; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class BuildEditorModelContext { - public BuildEditorModelContext(ItemEditorModel editorModel) { - ContentItem = editorModel.Item; - EditorModel = editorModel; - } - - public ContentItem ContentItem { get; set; } - public ItemEditorModel EditorModel { get; set; } - - public void AddEditor(TemplateViewModel editor) { - EditorModel.Editors = EditorModel.Editors.Concat(new[] { editor }); - } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/ContentHandler.cs b/src/Orchard/Models/Driver/ContentHandler.cs deleted file mode 100644 index 09a7615e7..000000000 --- a/src/Orchard/Models/Driver/ContentHandler.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Orchard.Logging; - -namespace Orchard.ContentManagement.Handlers { - public abstract class ContentHandler : IContentHandler { - protected ContentHandler() { - Filters = new List(); - Logger = NullLogger.Instance; - } - - public List Filters { get; set; } - public ILogger Logger { get; set; } - - protected void OnActivated(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnActivated = handler }); - } - - protected void OnCreating(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnCreating = handler }); - } - - protected void OnCreated(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnCreated = handler }); - } - - protected void OnLoading(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnLoading = handler }); - } - - protected void OnLoaded(Action handler) where TPart : class, IContent { - Filters.Add(new InlineStorageFilter { OnLoaded = handler }); - } - - protected void OnGetItemMetadata(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnGetItemMetadata = handler }); - } - protected void OnGetDisplayViewModel(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnGetDisplayViewModel = handler }); - } - - protected void OnGetEditorViewModel(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnGetEditorViewModel = handler }); - } - - protected void OnUpdateEditorViewModel(Action handler) where TPart : class, IContent { - Filters.Add(new InlineTemplateFilter { OnUpdateEditorViewModel = handler }); - } - - class InlineStorageFilter : StorageFilterBase where TPart : class, IContent { - public Action OnActivated { get; set; } - public Action OnCreating { get; set; } - public Action OnCreated { get; set; } - public Action OnLoading { get; set; } - public Action OnLoaded { get; set; } - protected override void Activated(ActivatedContentContext context, TPart instance) { - if (OnActivated != null) OnActivated(context, instance); - } - protected override void Creating(CreateContentContext context, TPart instance) { - if (OnCreating != null) OnCreating(context, instance); - } - protected override void Created(CreateContentContext context, TPart instance) { - if (OnCreated != null) OnCreated(context, instance); - } - protected override void Loading(LoadContentContext context, TPart instance) { - if (OnLoading != null) OnLoading(context, instance); - } - protected override void Loaded(LoadContentContext context, TPart instance) { - if (OnLoaded != null) OnLoaded(context, instance); - } - } - - class InlineTemplateFilter : TemplateFilterBase where TPart : class, IContent { - public Action OnGetItemMetadata { get; set; } - public Action OnGetDisplayViewModel { get; set; } - public Action OnGetEditorViewModel { get; set; } - public Action OnUpdateEditorViewModel { get; set; } - protected override void GetItemMetadata(GetItemMetadataContext context, TPart instance) { - if (OnGetItemMetadata != null) OnGetItemMetadata(context, instance); - } - protected override void BuildDisplayModel(BuildDisplayModelContext context, TPart instance) { - if (OnGetDisplayViewModel != null) OnGetDisplayViewModel(context, instance); - } - protected override void BuildEditorModel(BuildEditorModelContext context, TPart instance) { - if (OnGetEditorViewModel != null) OnGetEditorViewModel(context, instance); - } - protected override void UpdateEditorModel(UpdateEditorModelContext context, TPart instance) { - if (OnUpdateEditorViewModel != null) OnUpdateEditorViewModel(context, instance); - } - } - - public virtual IEnumerable GetContentTypes() { - return Enumerable.Empty(); - } - - void IContentHandler.Activating(ActivatingContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Activating(context); - Activating(context); - } - - void IContentHandler.Activated(ActivatedContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Activated(context); - Activated(context); - } - - void IContentHandler.Creating(CreateContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Creating(context); - Creating(context); - } - - void IContentHandler.Created(CreateContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Created(context); - Created(context); - } - - void IContentHandler.Loading(LoadContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Loading(context); - Loading(context); - } - - void IContentHandler.Loaded(LoadContentContext context) { - foreach (var filter in Filters.OfType()) - filter.Loaded(context); - Loaded(context); - } - - - void IContentHandler.GetItemMetadata(GetItemMetadataContext context) { - foreach (var filter in Filters.OfType()) - filter.GetItemMetadata(context); - GetItemMetadata(context); - } - void IContentHandler.BuildDisplayModel(BuildDisplayModelContext context) { - foreach (var filter in Filters.OfType()) - filter.BuildDisplayModel(context); - BuildDisplayModel(context); - } - void IContentHandler.BuildEditorModel(BuildEditorModelContext context) { - foreach (var filter in Filters.OfType()) - filter.BuildEditorModel(context); - BuildEditorModel(context); - } - void IContentHandler.UpdateEditorModel(UpdateEditorModelContext context) { - foreach (var filter in Filters.OfType()) - filter.UpdateEditorModel(context); - UpdateEditorModel(context); - } - - protected virtual void Activating(ActivatingContentContext context) { } - protected virtual void Activated(ActivatedContentContext context) { } - - protected virtual void Loading(LoadContentContext context) { } - protected virtual void Loaded(LoadContentContext context) { } - - protected virtual void Creating(CreateContentContext context) { } - protected virtual void Created(CreateContentContext context) { } - - protected virtual void GetItemMetadata(GetItemMetadataContext context) { } - protected virtual void BuildDisplayModel(BuildDisplayModelContext context) { } - protected virtual void BuildEditorModel(BuildEditorModelContext context) { } - protected virtual void UpdateEditorModel(UpdateEditorModelContext context) {} - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/ContentItemBuilder.cs b/src/Orchard/Models/Driver/ContentItemBuilder.cs deleted file mode 100644 index 3ec2bbb59..000000000 --- a/src/Orchard/Models/Driver/ContentItemBuilder.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; - -namespace Orchard.ContentManagement.Handlers { - public class ContentItemBuilder { - private readonly ContentItem _item; - - public ContentItemBuilder(string contentType) { - _item = new ContentItem { ContentType = contentType }; - } - - public ContentItem Build() { - return _item; - } - - public ContentItemBuilder Weld() where TPart : ContentPart, new() { - var part = new TPart(); - _item.Weld(part); - return this; - } - } -} diff --git a/src/Orchard/Models/Driver/ContentItemTemplates.cs b/src/Orchard/Models/Driver/ContentItemTemplates.cs deleted file mode 100644 index fbec87e2a..000000000 --- a/src/Orchard/Models/Driver/ContentItemTemplates.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Linq; -using System.Web.Mvc; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class ContentItemTemplates : TemplateFilterBase where TContent : class, IContent { - private readonly string _templateName; - // todo: (heskew) use _prefix? - private readonly string _prefix; - private readonly string[] _displayTypes; - private Action> _updater; - - public ContentItemTemplates(string templateName) - : this(templateName, "") { - - } - - public ContentItemTemplates(string templateName, string displayTypes) { - _templateName = templateName; - _displayTypes = (displayTypes ?? "").Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); - _updater = (context, viewModel) => context.Updater.TryUpdateModel(viewModel, "", null, null); - } - - protected override void BuildDisplayModel(BuildDisplayModelContext context, TContent instance) { - context.DisplayModel.TemplateName = _templateName; - var longestMatch = LongestMatch(context.DisplayType); - if (!string.IsNullOrEmpty(longestMatch)) - context.DisplayModel.TemplateName += "." + longestMatch; - - context.DisplayModel.Prefix = _prefix; - - if (context.DisplayModel.GetType() != typeof(ItemDisplayModel)) { - context.DisplayModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemDisplayModel(viewModel)) }, - html.RouteCollection); - }; - } - } - - class ViewDataContainer : IViewDataContainer { - public ViewDataDictionary ViewData { get; set; } - } - - private string LongestMatch(string displayType) { - if (string.IsNullOrEmpty(displayType)) - return displayType; - - return _displayTypes.Aggregate("", (best, x) => { - if (displayType.StartsWith(x) && x.Length > best.Length) return x; - return best; - }); - } - - protected override void BuildEditorModel(BuildEditorModelContext context, TContent instance) { - context.EditorModel.TemplateName = _templateName; - context.EditorModel.Prefix = _prefix; - if (context.EditorModel.GetType() != typeof(ItemEditorModel)) { - context.EditorModel.Adaptor = (html, viewModel) => { - return new HtmlHelper>( - html.ViewContext, - new ViewDataContainer { ViewData = new ViewDataDictionary(new ItemEditorModel(viewModel)) }, - html.RouteCollection); - }; - } - } - - protected override void UpdateEditorModel(UpdateEditorModelContext context, TContent instance) { - if (context.EditorModel is ItemEditorModel) - _updater(context, (ItemEditorModel)context.EditorModel); - else - _updater(context, new ItemEditorModel(context.EditorModel)); - context.EditorModel.TemplateName = _templateName; - context.EditorModel.Prefix = _prefix; - } - - public void Updater(Action> updater) { - _updater = updater; - } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/CreateContentContext.cs b/src/Orchard/Models/Driver/CreateContentContext.cs deleted file mode 100644 index d2969847b..000000000 --- a/src/Orchard/Models/Driver/CreateContentContext.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Orchard.ContentManagement.Records; - -namespace Orchard.ContentManagement.Handlers { - public class CreateContentContext { - public int Id { get; set; } - public string ContentType { get; set; } - public ContentItemRecord ContentItemRecord { get; set; } - public ContentItem ContentItem { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/GetItemMetadataContext.cs b/src/Orchard/Models/Driver/GetItemMetadataContext.cs deleted file mode 100644 index d1686e8c7..000000000 --- a/src/Orchard/Models/Driver/GetItemMetadataContext.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public class GetItemMetadataContext { - public ContentItem ContentItem { get; set; } - public ContentItemMetadata Metadata { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/IContentActivatingFilter.cs b/src/Orchard/Models/Driver/IContentActivatingFilter.cs deleted file mode 100644 index 117e06fce..000000000 --- a/src/Orchard/Models/Driver/IContentActivatingFilter.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public interface IContentActivatingFilter : IContentFilter { - void Activating(ActivatingContentContext context); - } -} diff --git a/src/Orchard/Models/Driver/IContentFilter.cs b/src/Orchard/Models/Driver/IContentFilter.cs deleted file mode 100644 index fee7a6dd7..000000000 --- a/src/Orchard/Models/Driver/IContentFilter.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public interface IContentFilter { - } -} diff --git a/src/Orchard/Models/Driver/IContentHandler.cs b/src/Orchard/Models/Driver/IContentHandler.cs deleted file mode 100644 index 79e9f3e4b..000000000 --- a/src/Orchard/Models/Driver/IContentHandler.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections.Generic; - -namespace Orchard.ContentManagement.Handlers { - public interface IContentHandler : IEvents { - IEnumerable GetContentTypes(); - - void Activating(ActivatingContentContext context); - void Activated(ActivatedContentContext context); - void Creating(CreateContentContext context); - void Created(CreateContentContext context); - void Loading(LoadContentContext context); - void Loaded(LoadContentContext context); - - void GetItemMetadata(GetItemMetadataContext context); - void BuildDisplayModel(BuildDisplayModelContext context); - void BuildEditorModel(BuildEditorModelContext context); - void UpdateEditorModel(UpdateEditorModelContext context); - } -} diff --git a/src/Orchard/Models/Driver/IContentStorageFilter.cs b/src/Orchard/Models/Driver/IContentStorageFilter.cs deleted file mode 100644 index f7fd26c6f..000000000 --- a/src/Orchard/Models/Driver/IContentStorageFilter.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public interface IContentStorageFilter : IContentFilter { - void Activated(ActivatedContentContext context); - void Creating(CreateContentContext context); - void Created(CreateContentContext context); - void Loading(LoadContentContext context); - void Loaded(LoadContentContext context); - } -} diff --git a/src/Orchard/Models/Driver/IContentTemplateFilter.cs b/src/Orchard/Models/Driver/IContentTemplateFilter.cs deleted file mode 100644 index c94035e65..000000000 --- a/src/Orchard/Models/Driver/IContentTemplateFilter.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Orchard.ContentManagement.Handlers { - interface IContentTemplateFilter : IContentFilter { - void GetItemMetadata(GetItemMetadataContext context); - void BuildDisplayModel(BuildDisplayModelContext context); - void BuildEditorModel(BuildEditorModelContext context); - void UpdateEditorModel(UpdateEditorModelContext context); - } -} diff --git a/src/Orchard/Models/Driver/IUpdateModel.cs b/src/Orchard/Models/Driver/IUpdateModel.cs deleted file mode 100644 index 8592732a1..000000000 --- a/src/Orchard/Models/Driver/IUpdateModel.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Orchard.Localization; - -namespace Orchard.ContentManagement.Handlers { - public interface IUpdateModel { - bool TryUpdateModel(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) where TModel : class; - void AddModelError(string key, LocalizedString errorMessage); - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/LoadContentContext.cs b/src/Orchard/Models/Driver/LoadContentContext.cs deleted file mode 100644 index e92e409fc..000000000 --- a/src/Orchard/Models/Driver/LoadContentContext.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using Orchard.ContentManagement.Records; - -namespace Orchard.ContentManagement.Handlers { - public class LoadContentContext { - public int Id { get; set; } - public string ContentType { get; set; } - public ContentItemRecord ContentItemRecord { get; set; } - public ContentItem ContentItem { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Driver/StorageFilter.cs b/src/Orchard/Models/Driver/StorageFilter.cs deleted file mode 100644 index 587594119..000000000 --- a/src/Orchard/Models/Driver/StorageFilter.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Orchard.ContentManagement.Records; -using Orchard.Data; - -namespace Orchard.ContentManagement.Handlers { - public class StorageFilter : StorageFilterBase> where TRecord : ContentPartRecord,new() { - private readonly IRepository _repository; - - public StorageFilter(IRepository repository) { - _repository = repository; - } - - public bool AutomaticallyCreateMissingRecord { get; set; } - - protected override void Activated(ActivatedContentContext context, ContentPart instance) { - instance.Record = new TRecord(); - } - - protected override void Creating(CreateContentContext context, ContentPart instance) { - instance.Record.ContentItemRecord = context.ContentItemRecord; - _repository.Create(instance.Record); - } - - protected override void Loading(LoadContentContext context, ContentPart instance) { - var record = _repository.Get(instance.ContentItem.Id); - if (record != null) { - instance.Record = record; - } - else if (AutomaticallyCreateMissingRecord) { - instance.Record = new TRecord {ContentItemRecord = context.ContentItemRecord}; - _repository.Create(instance.Record); - } - } - } -} diff --git a/src/Orchard/Models/Driver/StorageFilterBase.cs b/src/Orchard/Models/Driver/StorageFilterBase.cs deleted file mode 100644 index cf0e02913..000000000 --- a/src/Orchard/Models/Driver/StorageFilterBase.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace Orchard.ContentManagement.Handlers { - public abstract class StorageFilterBase : IContentStorageFilter where TPart : class, IContent { - - protected virtual void Activated(ActivatedContentContext context, TPart instance) { } - protected virtual void Creating(CreateContentContext context, TPart instance) { } - protected virtual void Created(CreateContentContext context, TPart instance) { } - protected virtual void Loading(LoadContentContext context, TPart instance) { } - protected virtual void Loaded(LoadContentContext context, TPart instance) { } - - - void IContentStorageFilter.Activated(ActivatedContentContext context) { - if (context.ContentItem.Is()) - Activated(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Creating(CreateContentContext context) { - if (context.ContentItem.Is()) - Creating(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Created(CreateContentContext context) { - if (context.ContentItem.Is()) - Created(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Loading(LoadContentContext context) { - if (context.ContentItem.Is()) - Loading(context, context.ContentItem.As()); - } - - void IContentStorageFilter.Loaded(LoadContentContext context) { - if (context.ContentItem.Is()) - Loaded(context, context.ContentItem.As()); - } - } -} diff --git a/src/Orchard/Models/Driver/TemplateFilterBase.cs b/src/Orchard/Models/Driver/TemplateFilterBase.cs deleted file mode 100644 index 77fd43d98..000000000 --- a/src/Orchard/Models/Driver/TemplateFilterBase.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Orchard.ContentManagement.Handlers { - public abstract class TemplateFilterBase : IContentTemplateFilter where TPart : class, IContent { - - protected virtual void GetItemMetadata(GetItemMetadataContext context, TPart instance) { } - protected virtual void BuildDisplayModel(BuildDisplayModelContext context, TPart instance) { } - protected virtual void BuildEditorModel(BuildEditorModelContext context, TPart instance) { } - protected virtual void UpdateEditorModel(UpdateEditorModelContext context, TPart instance) { } - - void IContentTemplateFilter.GetItemMetadata(GetItemMetadataContext context) { - if (context.ContentItem.Is()) - GetItemMetadata(context, context.ContentItem.As()); - } - - void IContentTemplateFilter.BuildDisplayModel(BuildDisplayModelContext context) { - if (context.ContentItem.Is()) - BuildDisplayModel(context, context.ContentItem.As()); - } - - void IContentTemplateFilter.BuildEditorModel(BuildEditorModelContext context) { - if (context.ContentItem.Is()) - BuildEditorModel(context, context.ContentItem.As()); - } - - void IContentTemplateFilter.UpdateEditorModel(UpdateEditorModelContext context) { - if (context.ContentItem.Is()) - UpdateEditorModel(context, context.ContentItem.As()); - } - - } -} diff --git a/src/Orchard/Models/Driver/TemplateFilterForRecord.cs b/src/Orchard/Models/Driver/TemplateFilterForRecord.cs deleted file mode 100644 index 689744e94..000000000 --- a/src/Orchard/Models/Driver/TemplateFilterForRecord.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Orchard.ContentManagement.Records; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class TemplateFilterForRecord : TemplateFilterBase> where TRecord : ContentPartRecord, new() { - private readonly string _prefix; - private readonly string _templateName; - - public TemplateFilterForRecord(string prefix, string templateName) { - _prefix = prefix; - _templateName = templateName; - } - - protected override void BuildEditorModel(BuildEditorModelContext context, ContentPart part) { - context.AddEditor(new TemplateViewModel(part.Record, _prefix) { TemplateName = _templateName }); - } - - protected override void UpdateEditorModel(UpdateEditorModelContext context, ContentPart part) { - context.Updater.TryUpdateModel(part.Record, _prefix, null, null); - context.AddEditor(new TemplateViewModel(part.Record, _prefix) { TemplateName = _templateName }); - } - } -} diff --git a/src/Orchard/Models/Driver/UpdateEditorModelContext.cs b/src/Orchard/Models/Driver/UpdateEditorModelContext.cs deleted file mode 100644 index 50f433744..000000000 --- a/src/Orchard/Models/Driver/UpdateEditorModelContext.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement.Handlers { - public class UpdateEditorModelContext : BuildEditorModelContext { - public UpdateEditorModelContext(ItemEditorModel editorModel, IUpdateModel updater) - : base(editorModel) { - Updater = updater; - } - - public IUpdateModel Updater { get; private set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/IContent.cs b/src/Orchard/Models/IContent.cs deleted file mode 100644 index 51bfa8f67..000000000 --- a/src/Orchard/Models/IContent.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Orchard.ContentManagement { - public interface IContent { - ContentItem ContentItem { get; } - } -} diff --git a/src/Orchard/Models/IContentDisplayInfo.cs b/src/Orchard/Models/IContentDisplayInfo.cs deleted file mode 100644 index bee7da34b..000000000 --- a/src/Orchard/Models/IContentDisplayInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Web.Routing; - -namespace Orchard.ContentManagement { - //public interface IContentDisplayInfo : IContent { - // string DisplayText { get; } - // RouteValueDictionary DisplayRouteValues(); - // RouteValueDictionary EditRouteValues(); - //} -} \ No newline at end of file diff --git a/src/Orchard/Models/IContentManager.cs b/src/Orchard/Models/IContentManager.cs deleted file mode 100644 index 34344c21b..000000000 --- a/src/Orchard/Models/IContentManager.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections.Generic; -using Orchard.ContentManagement.Handlers; -using Orchard.ContentManagement.ViewModels; - -namespace Orchard.ContentManagement { - public interface IContentManager : IDependency { - IEnumerable GetContentTypes(); - - ContentItem New(string contentType); - void Create(ContentItem contentItem); - - ContentItem Get(int id); - - IContentQuery Query(); - - ContentItemMetadata GetItemMetadata(IContent contentItem); - - ItemDisplayModel BuildDisplayModel(TContent content, string displayType) where TContent : IContent; - ItemEditorModel BuildEditorModel(TContent content) where TContent : IContent; - ItemEditorModel UpdateEditorModel(TContent content, IUpdateModel updater) where TContent : IContent; - } -} diff --git a/src/Orchard/Models/IContentQuery.cs b/src/Orchard/Models/IContentQuery.cs deleted file mode 100644 index c0ddf2a13..000000000 --- a/src/Orchard/Models/IContentQuery.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq.Expressions; -using Orchard.ContentManagement.Records; - -namespace Orchard.ContentManagement { - - public interface IContentQuery { - IContentManager ContentManager { get; } - IContentQuery ForPart() where TPart : IContent; - } - - public interface IContentQuery : IContentQuery where TPart : IContent { - IContentQuery ForType(params string[] contentTypes); - IEnumerable List(); - IEnumerable Slice(int skip, int count); - - IContentQuery Join() where TRecord : ContentPartRecord; - - IContentQuery Where(Expression> predicate) where TRecord : ContentPartRecord; - IContentQuery OrderBy(Expression> keySelector) where TRecord : ContentPartRecord; - IContentQuery OrderByDescending(Expression> keySelector) where TRecord : ContentPartRecord; - } - - public interface IContentQuery : IContentQuery where TPart : IContent where TRecord : ContentPartRecord { - IContentQuery Where(Expression> predicate); - IContentQuery OrderBy(Expression> keySelector); - IContentQuery OrderByDescending(Expression> keySelector); - } - -} \ No newline at end of file diff --git a/src/Orchard/Models/PartDriver.cs b/src/Orchard/Models/PartDriver.cs deleted file mode 100644 index b71dc27b2..000000000 --- a/src/Orchard/Models/PartDriver.cs +++ /dev/null @@ -1,177 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using JetBrains.Annotations; -using Orchard.ContentManagement.Handlers; -using Orchard.ContentManagement.ViewModels; -using Orchard.Logging; - -namespace Orchard.ContentManagement { - public interface IPartDriver : IEvents { - DriverResult BuildDisplayModel(BuildDisplayModelContext context); - DriverResult BuildEditorModel(BuildEditorModelContext context); - DriverResult UpdateEditorModel(UpdateEditorModelContext context); - } - - - public abstract class PartDriver : IPartDriver where TPart : class, IContent { - DriverResult IPartDriver.BuildDisplayModel(BuildDisplayModelContext context) { - var part = context.ContentItem.As(); - return part == null ? null : Display(part, context.DisplayType); - } - - DriverResult IPartDriver.BuildEditorModel(BuildEditorModelContext context) { - var part = context.ContentItem.As(); - return part == null ? null : Editor(part); - } - - DriverResult IPartDriver.UpdateEditorModel(UpdateEditorModelContext context) { - var part = context.ContentItem.As(); - return part == null ? null : Editor(part, context.Updater); - } - - protected virtual DriverResult Display(TPart part, string displayType) { - return null; - } - - protected virtual DriverResult Editor(TPart part) { - return null; - } - - protected virtual DriverResult Editor(TPart part, IUpdateModel updater) { - return null; - } - - protected virtual string Prefix { get { return ""; } } - protected virtual string Zone { get { return "body"; } } - - public TemplateResult PartialView(object model) { - return new TemplateResult(model, null, Prefix).Location(Zone); - } - public TemplateResult PartialView(object model, string template) { - return new TemplateResult(model, template, Prefix).Location(Zone); - } - public TemplateResult PartialView(object model, string template, string prefix) { - return new TemplateResult(model, template, prefix).Location(Zone); - } - } - - public abstract class AutomaticPartDriver : PartDriver where TPart : class, IContent { - protected override string Prefix { - get { - return (typeof (TPart).Name); - } - } - protected override DriverResult Display(TPart part, string displayType) { - return PartialView(part); - } - protected override DriverResult Editor(TPart part) { - return PartialView(part); - } - protected override DriverResult Editor(TPart part, IUpdateModel updater) { - updater.TryUpdateModel(part, Prefix, null, null); - return PartialView(part); - } - } - - public class DriverResult { - public virtual void Apply(BuildDisplayModelContext context) { } - public virtual void Apply(BuildEditorModelContext context) { } - } - - public class TemplateResult : DriverResult { - public object Model { get; set; } - public string TemplateName { get; set; } - public string Prefix { get; set; } - public string Zone { get; set; } - public string Position { get; set; } - - public TemplateResult(object model, string templateName, string prefix) { - Model = model; - TemplateName = templateName; - Prefix = prefix; - } - - public override void Apply(BuildDisplayModelContext context) { - context.AddDisplay(new TemplateViewModel(Model, Prefix) { - TemplateName = TemplateName, - ZoneName = Zone, - Position = Position - }); - } - - public override void Apply(BuildEditorModelContext context) { - context.AddEditor(new TemplateViewModel(Model, Prefix) { - TemplateName = TemplateName, - ZoneName = Zone, - Position = Position - }); - } - - public TemplateResult Location(string zone) { - Zone = zone; - return this; - } - - public TemplateResult Location(string zone, string position) { - Zone = zone; - Position = position; - return this; - } - } - - [UsedImplicitly] - public class PartDriverHandler : IContentHandler { - private readonly IEnumerable _drivers; - - public PartDriverHandler(IEnumerable drivers) { - _drivers = drivers; - Logger = NullLogger.Instance; - } - - public ILogger Logger { get; set; } - - System.Collections.Generic.IEnumerable IContentHandler.GetContentTypes() { - return Enumerable.Empty(); - } - - void IContentHandler.Activating(ActivatingContentContext context) { } - - void IContentHandler.Activated(ActivatedContentContext context) { } - - void IContentHandler.Creating(CreateContentContext context) { } - - void IContentHandler.Created(CreateContentContext context) { } - - void IContentHandler.Loading(LoadContentContext context) { } - - void IContentHandler.Loaded(LoadContentContext context) { } - - void IContentHandler.GetItemMetadata(GetItemMetadataContext context) { } - - void IContentHandler.BuildDisplayModel(BuildDisplayModelContext context) { - _drivers.Invoke(driver => { - var result = driver.BuildDisplayModel(context); - if (result != null) - result.Apply(context); - }, Logger); - } - - void IContentHandler.BuildEditorModel(BuildEditorModelContext context) { - _drivers.Invoke(driver => { - var result = driver.BuildEditorModel(context); - if (result != null) - result.Apply(context); - }, Logger); - } - - void IContentHandler.UpdateEditorModel(UpdateEditorModelContext context) { - _drivers.Invoke(driver => { - var result = driver.UpdateEditorModel(context); - if (result != null) - result.Apply(context); - }, Logger); - } - - } -} diff --git a/src/Orchard/Models/Records/ContentItemRecord.cs b/src/Orchard/Models/Records/ContentItemRecord.cs deleted file mode 100644 index f107e6297..000000000 --- a/src/Orchard/Models/Records/ContentItemRecord.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Records { - public class ContentItemRecord { - public virtual int Id { get; set; } - public virtual ContentTypeRecord ContentType { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Records/ContentItemRecordAlteration.cs b/src/Orchard/Models/Records/ContentItemRecordAlteration.cs deleted file mode 100644 index af71f5e87..000000000 --- a/src/Orchard/Models/Records/ContentItemRecordAlteration.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Globalization; -using System.Linq; -using System.Linq.Expressions; -using System.Reflection; -using System.Reflection.Emit; -using FluentNHibernate.Automapping; -using FluentNHibernate.Automapping.Alterations; - -namespace Orchard.ContentManagement.Records { - class ContentItemRecordAlteration : IAutoMappingAlteration { - private readonly IEnumerable _recordTypes; - - public ContentItemRecordAlteration() { - _recordTypes = Enumerable.Empty(); - } - public ContentItemRecordAlteration(IEnumerable recordTypes) { - _recordTypes = recordTypes; - } - - public void Alter(AutoPersistenceModel model) { - model.Override(mapping => { - foreach (var recordType in _recordTypes.Where(x => x.IsSubclassOf(typeof(ContentPartRecord)))) { - var type = typeof(Alteration<>).MakeGenericType(recordType); - var alteration = (IAlteration)Activator.CreateInstance(type); - alteration.Override(mapping); - } - }); - } - - interface IAlteration { - void Override(AutoMapping mapping); - } - - class Alteration : IAlteration where TPartRecord : ContentPartRecord { - public void Override(AutoMapping mapping) { - var name = typeof(TPartRecord).Name; - - - var syntheticMethod = new DynamicMethod(name, typeof(TPartRecord), null, typeof(ContentItemRecord)); - var syntheticProperty = new FakePropertyInfo(syntheticMethod); - - var parameter = Expression.Parameter(typeof(ContentItemRecord), "record"); - var syntheticExpression = (Expression>)Expression.Lambda( - typeof(Func), - Expression.Property(parameter, syntheticProperty), - parameter); - - mapping.HasOne(syntheticExpression).Access.NoOp().Fetch.Select(); - } - - private class FakePropertyInfo : PropertyInfo { - private readonly DynamicMethod _getMethod; - - public FakePropertyInfo(DynamicMethod dynamicMethod) { - _getMethod = dynamicMethod; - } - - public override object[] GetCustomAttributes(bool inherit) { - throw new NotImplementedException(); - } - - public override bool IsDefined(Type attributeType, bool inherit) { - throw new NotImplementedException(); - } - - public override object GetValue(object obj, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture) { - throw new NotImplementedException(); - } - - public override void SetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture) { - throw new NotImplementedException(); - } - - public override MethodInfo[] GetAccessors(bool nonPublic) { - throw new NotImplementedException(); - } - - public override MethodInfo GetGetMethod(bool nonPublic) { - return _getMethod; - } - - public override MethodInfo GetSetMethod(bool nonPublic) { - throw new NotImplementedException(); - } - - public override ParameterInfo[] GetIndexParameters() { - throw new NotImplementedException(); - } - - public override string Name { - get { return _getMethod.Name; } - } - - public override Type DeclaringType { - get { throw new NotImplementedException(); } - } - - public override Type ReflectedType { - get { throw new NotImplementedException(); } - } - - public override Type PropertyType { - get { return _getMethod.ReturnType; } - } - - public override PropertyAttributes Attributes { - get { throw new NotImplementedException(); } - } - - public override bool CanRead { - get { return true; } - } - - public override bool CanWrite { - get { throw new NotImplementedException(); } - } - - public override object[] GetCustomAttributes(Type attributeType, bool inherit) { - throw new NotImplementedException(); - } - } - } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Records/ContentPartRecord.cs b/src/Orchard/Models/Records/ContentPartRecord.cs deleted file mode 100644 index b51db5f85..000000000 --- a/src/Orchard/Models/Records/ContentPartRecord.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Records { - public abstract class ContentPartRecord { - public virtual int Id { get; set; } - public virtual ContentItemRecord ContentItemRecord { get; set; } - } -} diff --git a/src/Orchard/Models/Records/ContentPartRecordAlteration.cs b/src/Orchard/Models/Records/ContentPartRecordAlteration.cs deleted file mode 100644 index 89f1164c1..000000000 --- a/src/Orchard/Models/Records/ContentPartRecordAlteration.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Linq; -using FluentNHibernate.Automapping; -using FluentNHibernate.Automapping.Alterations; - -namespace Orchard.ContentManagement.Records { - public class ContentPartRecordAlteration : IAutoMappingAlteration { - public void Alter(AutoPersistenceModel model) { - - model.OverrideAll(mapping => { - var genericArguments = mapping.GetType().GetGenericArguments(); - if (!genericArguments.Single().IsSubclassOf(typeof(ContentPartRecord))) { - return; - } - - var type = typeof(Alteration<>).MakeGenericType(genericArguments); - var alteration = (IAlteration)Activator.CreateInstance(type); - alteration.Override(mapping); - }); - - } - - interface IAlteration { - void Override(object mapping); - } - - class Alteration : IAlteration where T : ContentPartRecord { - public void Override(object mappingObj) { - var mapping = (AutoMapping)mappingObj; - mapping.Id(x => x.Id).GeneratedBy.Foreign("ContentItemRecord"); - mapping.HasOne(x => x.ContentItemRecord).Constrained(); - } - } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/Records/ContentTypeRecord.cs b/src/Orchard/Models/Records/ContentTypeRecord.cs deleted file mode 100644 index f908ceff3..000000000 --- a/src/Orchard/Models/Records/ContentTypeRecord.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Orchard.ContentManagement.Records { - public class ContentTypeRecord { - public virtual int Id { get; set; } - public virtual string Name { get; set; } - } -} diff --git a/src/Orchard/Models/ViewModels/ItemDisplayModel.cs b/src/Orchard/Models/ViewModels/ItemDisplayModel.cs deleted file mode 100644 index 2f8f12cf7..000000000 --- a/src/Orchard/Models/ViewModels/ItemDisplayModel.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web.Mvc; - -namespace Orchard.ContentManagement.ViewModels { - public class ItemDisplayModel { - private ContentItem _item; - - protected ItemDisplayModel() { - } - - protected ItemDisplayModel(ItemDisplayModel displayModel) { - TemplateName = displayModel.TemplateName; - Prefix = displayModel.Prefix; - Displays = displayModel.Displays.ToArray(); - Item = displayModel.Item; - } - - public ItemDisplayModel(ContentItem item) { - Item = item; - Displays = Enumerable.Empty(); - } - - public ContentItem Item { - get { return _item; } - set { SetItem(value); } - } - - protected virtual void SetItem(ContentItem value) { - _item = value; - } - - public Func Adaptor { get; set; } - public string TemplateName { get; set; } - public string Prefix { get; set; } - public IEnumerable Displays { get; set; } - } - - public class ItemDisplayModel : ItemDisplayModel where TPart : IContent { - private TPart _item; - - public ItemDisplayModel() { - - } - public ItemDisplayModel(ItemDisplayModel displayModel) - : base(displayModel) { - } - - public new TPart Item { - get { return _item; } - set { SetItem(value.ContentItem); } - } - - protected override void SetItem(ContentItem value) { - _item = value.As(); - base.SetItem(value); - } - } -} \ No newline at end of file diff --git a/src/Orchard/Models/ViewModels/ItemEditorModel.cs b/src/Orchard/Models/ViewModels/ItemEditorModel.cs deleted file mode 100644 index 6c0570892..000000000 --- a/src/Orchard/Models/ViewModels/ItemEditorModel.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web.Mvc; - -namespace Orchard.ContentManagement.ViewModels { - public class ItemEditorModel { - private ContentItem _item; - - protected ItemEditorModel() { - } - - protected ItemEditorModel(ItemEditorModel editorModel) { - TemplateName = editorModel.TemplateName; - Prefix = editorModel.Prefix; - Editors = editorModel.Editors.ToArray(); - Item = editorModel.Item; - } - - public ContentItem Item { - get { return _item; } - set { SetItem(value); } - } - - protected virtual void SetItem(ContentItem value) { - _item = value; - } - - public Func Adaptor { get; set; } - public string TemplateName { get; set; } - public string Prefix { get; set; } - public IEnumerable Editors { get; set; } - } - - public class ItemEditorModel : ItemEditorModel where TPart : IContent { - private TPart _item; - - - public ItemEditorModel() { - - } - public ItemEditorModel(ItemEditorModel editorModel) - : base(editorModel) { - } - - public new TPart Item { - get { return _item; } - set { SetItem(value.ContentItem); } - } - - protected override void SetItem(ContentItem value) { - _item = value.As(); - base.SetItem(value); - } - } -} diff --git a/src/Orchard/Models/ViewModels/TemplateViewModel.cs b/src/Orchard/Models/ViewModels/TemplateViewModel.cs deleted file mode 100644 index 1bbc0cd18..000000000 --- a/src/Orchard/Models/ViewModels/TemplateViewModel.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Orchard.ContentManagement.ViewModels { - public class TemplateViewModel { - public TemplateViewModel(object model) - : this(model, string.Empty) { - } - public TemplateViewModel(object model, string prefix) { - Model = model; - Prefix = prefix; - } - - - public object Model { get; set; } - public string Prefix { get; set; } - public string TemplateName { get; set; } - - public string ZoneName { get; set; } - public string Position { get; set; } - public bool WasUsed { get; set; } - } -}