mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-18 17:47:54 +08:00
Continuing to refactor ModelDriver concept into ContentHandler
--HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4041352
This commit is contained in:
@@ -28,7 +28,7 @@ namespace Orchard.Tests.Packages.Users.Controllers {
|
||||
builder.Register<AdminController>();
|
||||
builder.Register<DefaultContentManager>().As<IContentManager>();
|
||||
builder.Register<MembershipService>().As<IMembershipService>();
|
||||
builder.Register<UserDriver>().As<IModelDriver>();
|
||||
builder.Register<UserDriver>().As<IContentHandler>();
|
||||
builder.Register(new Mock<INotifier>().Object);
|
||||
}
|
||||
|
||||
|
@@ -58,7 +58,7 @@ namespace Orchard.Tests.Packages.Users.Services {
|
||||
builder.RegisterModule(new ImplicitCollectionSupportModule());
|
||||
builder.Register<MembershipService>().As<IMembershipService>();
|
||||
builder.Register<DefaultContentManager>().As<IContentManager>();
|
||||
builder.Register<UserDriver>().As<IModelDriver>();
|
||||
builder.Register<UserDriver>().As<IContentHandler>();
|
||||
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>));
|
||||
_session = _sessionFactory.OpenSession();
|
||||
builder.Register(new TestSessionLocator(_session)).As<ISessionLocator>();
|
||||
|
@@ -38,11 +38,11 @@ namespace Orchard.Tests.Models {
|
||||
var builder = new ContainerBuilder();
|
||||
builder.RegisterModule(new ImplicitCollectionSupportModule());
|
||||
builder.Register<DefaultContentManager>().As<IContentManager>();
|
||||
builder.Register<AlphaDriver>().As<IModelDriver>();
|
||||
builder.Register<BetaDriver>().As<IModelDriver>();
|
||||
builder.Register<GammaDriver>().As<IModelDriver>();
|
||||
builder.Register<FlavoredDriver>().As<IModelDriver>();
|
||||
builder.Register<StyledDriver>().As<IModelDriver>();
|
||||
builder.Register<AlphaDriver>().As<IContentHandler>();
|
||||
builder.Register<BetaDriver>().As<IContentHandler>();
|
||||
builder.Register<GammaDriver>().As<IContentHandler>();
|
||||
builder.Register<FlavoredDriver>().As<IContentHandler>();
|
||||
builder.Register<StyledDriver>().As<IContentHandler>();
|
||||
|
||||
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>));
|
||||
|
||||
@@ -139,7 +139,7 @@ namespace Orchard.Tests.Models {
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CreateShouldMakeModelAndModelTypeRecords() {
|
||||
public void CreateShouldMakeModelAndContentTypeRecords() {
|
||||
var beta = _manager.New("beta");
|
||||
_manager.Create(beta);
|
||||
|
||||
@@ -148,13 +148,13 @@ namespace Orchard.Tests.Models {
|
||||
Assert.That(modelRecord.ContentType.Name, Is.EqualTo("beta"));
|
||||
}
|
||||
|
||||
private ContentItemRecord CreateModelRecord(string modelType) {
|
||||
var modelRepository = _container.Resolve<IRepository<ContentItemRecord>>();
|
||||
var modelTypeRepository = _container.Resolve<IRepository<ContentTypeRecord>>();
|
||||
private ContentItemRecord CreateModelRecord(string contentType) {
|
||||
var contentItemRepository = _container.Resolve<IRepository<ContentItemRecord>>();
|
||||
var contentTypeRepository = _container.Resolve<IRepository<ContentTypeRecord>>();
|
||||
|
||||
var modelRecord = new ContentItemRecord { ContentType = new ContentTypeRecord { Name = modelType } };
|
||||
modelTypeRepository.Create(modelRecord.ContentType);
|
||||
modelRepository.Create(modelRecord);
|
||||
var modelRecord = new ContentItemRecord { ContentType = new ContentTypeRecord { Name = contentType } };
|
||||
contentTypeRepository.Create(modelRecord.ContentType);
|
||||
contentItemRepository.Create(modelRecord);
|
||||
|
||||
_session.Flush();
|
||||
_session.Clear();
|
||||
|
@@ -14,7 +14,7 @@ namespace Orchard.Tests.Models.Drivers {
|
||||
var part = new TestModelPart();
|
||||
contentItem.Weld(part);
|
||||
|
||||
((IModelDriver)modelDriver).Creating(new CreateModelContext { ContentItem = contentItem });
|
||||
((IContentHandler)modelDriver).Creating(new CreateContentContext { ContentItem = contentItem });
|
||||
Assert.That(part.CreatingCalled, Is.True);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Orchard.Tests.Models.Drivers {
|
||||
var modelDriver = new TestModelDriver();
|
||||
|
||||
var builder = new ContentItemBuilder("testing");
|
||||
((IModelDriver)modelDriver).Activating(new ActivatingModelContext { Builder = builder, ModelType = "testing" });
|
||||
((IContentHandler)modelDriver).Activating(new ActivatingContentContext { Builder = builder, ContentType = "testing" });
|
||||
var model = builder.Build();
|
||||
Assert.That(model.Is<TestModelPart>(), Is.True);
|
||||
Assert.That(model.As<TestModelPart>(), Is.Not.Null);
|
||||
@@ -34,7 +34,7 @@ namespace Orchard.Tests.Models.Drivers {
|
||||
}
|
||||
|
||||
|
||||
public class TestModelDriver : ModelDriver {
|
||||
public class TestModelDriver : ContentHandler {
|
||||
public TestModelDriver() {
|
||||
Filters.Add(new ActivatingFilter<TestModelPart>(x => x == "testing"));
|
||||
Filters.Add(new TestModelStorageFilter());
|
||||
@@ -42,7 +42,7 @@ namespace Orchard.Tests.Models.Drivers {
|
||||
}
|
||||
|
||||
public class TestModelStorageFilter : StorageFilterBase<TestModelPart> {
|
||||
protected override void Creating(CreateModelContext context, TestModelPart instance) {
|
||||
protected override void Creating(CreateContentContext context, TestModelPart instance) {
|
||||
instance.CreatingCalled = true;
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Tests.Models.Stubs {
|
||||
public class AlphaDriver : ModelDriver {
|
||||
protected override void Activating(ActivatingModelContext context) {
|
||||
if (context.ModelType == "alpha") {
|
||||
public class AlphaDriver : ContentHandler {
|
||||
protected override void Activating(ActivatingContentContext context) {
|
||||
if (context.ContentType == "alpha") {
|
||||
context.Builder.Weld<Alpha>();
|
||||
}
|
||||
}
|
||||
|
@@ -5,9 +5,9 @@ using System.Text;
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Tests.Models.Stubs {
|
||||
public class BetaDriver : ModelDriver {
|
||||
protected override void Activating(ActivatingModelContext context) {
|
||||
if (context.ModelType == "beta") {
|
||||
public class BetaDriver : ContentHandler {
|
||||
protected override void Activating(ActivatingContentContext context) {
|
||||
if (context.ContentType == "beta") {
|
||||
context.Builder.Weld<Beta>();
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Tests.Models.Stubs {
|
||||
public class FlavoredDriver : ModelDriver {
|
||||
protected override void Activating(ActivatingModelContext context) {
|
||||
if (context.ModelType == "beta" || context.ModelType == "alpha") {
|
||||
public class FlavoredDriver : ContentHandler {
|
||||
protected override void Activating(ActivatingContentContext context) {
|
||||
if (context.ContentType == "beta" || context.ContentType == "alpha") {
|
||||
context.Builder.Weld<Flavored>();
|
||||
}
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ namespace Orchard.Tests.Models.Stubs {
|
||||
}
|
||||
|
||||
|
||||
public class GammaDriver : ModelDriver {
|
||||
public class GammaDriver : ContentHandler {
|
||||
public GammaDriver(IRepository<GammaRecord> repository){
|
||||
Filters.Add(new ActivatingFilter<Gamma>(x => x == "gamma"));
|
||||
Filters.Add(new StorageFilterForRecord<GammaRecord>(repository));
|
||||
|
@@ -1,9 +1,9 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Tests.Models.Stubs {
|
||||
public class StyledDriver : ModelDriver {
|
||||
protected override void Activating(ActivatingModelContext context) {
|
||||
if (context.ModelType == "alpha") {
|
||||
public class StyledDriver : ContentHandler {
|
||||
protected override void Activating(ActivatingContentContext context) {
|
||||
if (context.ContentType == "alpha") {
|
||||
context.Builder.Weld<Styled>();
|
||||
}
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ using Orchard.Security;
|
||||
using Orchard.Services;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class CommonDriver : ModelDriver {
|
||||
public class CommonDriver : Orchard.Models.Driver.ContentHandler {
|
||||
private readonly IClock _clock;
|
||||
private readonly IAuthenticationService _authenticationService;
|
||||
private readonly IContentManager _contentManager;
|
||||
@@ -26,7 +26,7 @@ namespace Orchard.Core.Common.Models {
|
||||
AddOnLoaded<CommonModel>(LoadOwnerModel);
|
||||
}
|
||||
|
||||
void SetCreateTimesAndAuthor(CreateModelContext context, CommonModel instance) {
|
||||
void SetCreateTimesAndAuthor(CreateContentContext context, CommonModel instance) {
|
||||
if (instance.Record.CreatedUtc == null) {
|
||||
instance.Record.CreatedUtc = _clock.UtcNow;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ namespace Orchard.Core.Common.Models {
|
||||
}
|
||||
}
|
||||
|
||||
void LoadOwnerModel(LoadModelContext context, CommonModel instance) {
|
||||
void LoadOwnerModel(LoadContentContext context, CommonModel instance) {
|
||||
if (instance.Record.OwnerId != 0) {
|
||||
instance.Owner = _contentManager.Get(instance.Record.OwnerId).As<IUser>();
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class ContentDriver : ModelDriver {
|
||||
public class ContentDriver : Orchard.Models.Driver.ContentHandler {
|
||||
|
||||
}
|
||||
}
|
@@ -3,7 +3,7 @@ using Orchard.Data;
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class RoutableDriver : ModelDriver {
|
||||
public class RoutableDriver : Orchard.Models.Driver.ContentHandler {
|
||||
public RoutableDriver(IRepository<RoutableRecord> repository) {
|
||||
Filters.Add(new StorageFilterForRecord<RoutableRecord>(repository));
|
||||
}
|
||||
|
@@ -9,7 +9,7 @@ using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Settings.Controllers {
|
||||
[ValidateInput(false)]
|
||||
public class AdminController : Controller, IModelUpdater {
|
||||
public class AdminController : Controller, IUpdateModel {
|
||||
private readonly ISiteService _siteService;
|
||||
private readonly IContentManager _modelManager;
|
||||
private readonly INotifier _notifier;
|
||||
@@ -43,9 +43,9 @@ namespace Orchard.Core.Settings.Controllers {
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
#region IModelUpdater Members
|
||||
#region IUpdateModel Members
|
||||
|
||||
bool IModelUpdater.TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) {
|
||||
bool IUpdateModel.TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) {
|
||||
return TryUpdateModel(model, prefix, includeProperties, excludeProperties);
|
||||
}
|
||||
|
||||
|
@@ -3,7 +3,7 @@ using Orchard.Data;
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Settings.Models {
|
||||
public class SiteDriver : ModelDriver {
|
||||
public class SiteDriver : ContentHandler {
|
||||
public SiteDriver(IRepository<SiteSettingsRecord> repository){
|
||||
Filters.Add(new ActivatingFilter<SiteModel>("site"));
|
||||
Filters.Add(new StorageFilterForRecord<SiteSettingsRecord>(repository));
|
||||
|
@@ -12,13 +12,13 @@ namespace Orchard.Media.Models {
|
||||
public virtual string RootMediaFolder { get; set; }
|
||||
}
|
||||
|
||||
public class MediaSettingsDriver : ModelDriver {
|
||||
public class MediaSettingsDriver : ContentHandler {
|
||||
public MediaSettingsDriver(IRepository<MediaSettingsRecord> repository) {
|
||||
Filters.Add(new ActivatingFilter<MediaSettings>("site"));
|
||||
Filters.Add(new StorageFilterForRecord<MediaSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });
|
||||
}
|
||||
|
||||
protected override void GetEditors(GetModelEditorsContext context) {
|
||||
protected override void GetEditors(GetContentEditorsContext context) {
|
||||
var model = context.ContentItem.As<MediaSettings>();
|
||||
if (model == null)
|
||||
return;
|
||||
@@ -26,7 +26,7 @@ namespace Orchard.Media.Models {
|
||||
context.Editors.Add(ModelTemplate.For(model.Record, "MediaSettings"));
|
||||
}
|
||||
|
||||
protected override void UpdateEditors(UpdateModelContext context) {
|
||||
protected override void UpdateEditors(UpdateContentContext context) {
|
||||
var model = context.ContentItem.As<MediaSettings>();
|
||||
if (model == null)
|
||||
return;
|
||||
|
@@ -11,7 +11,7 @@ using Orchard.UI.Models;
|
||||
using Orchard.UI.Notify;
|
||||
|
||||
namespace Orchard.Roles.Models {
|
||||
public class UserRolesDriver : ModelDriver {
|
||||
public class UserRolesDriver : ContentHandler {
|
||||
private readonly IRepository<UserRolesRecord> _userRolesRepository;
|
||||
private readonly IRoleService _roleService;
|
||||
private readonly INotifier _notifier;
|
||||
@@ -22,19 +22,19 @@ namespace Orchard.Roles.Models {
|
||||
_notifier = notifier;
|
||||
}
|
||||
|
||||
protected override void Activating(ActivatingModelContext context) {
|
||||
if (context.ModelType == "user") {
|
||||
protected override void Activating(ActivatingContentContext context) {
|
||||
if (context.ContentType == "user") {
|
||||
context.Builder.Weld<UserRolesModel>();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Creating(CreateModelContext context) {
|
||||
protected override void Creating(CreateContentContext context) {
|
||||
var userRoles = context.ContentItem.As<UserRolesModel>();
|
||||
if (userRoles != null) {
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Loading(LoadModelContext context) {
|
||||
protected override void Loading(LoadContentContext context) {
|
||||
var userRoles = context.ContentItem.As<UserRolesModel>();
|
||||
if (userRoles != null) {
|
||||
userRoles.Roles = _userRolesRepository.Fetch(x => x.UserId == context.ContentItem.Id)
|
||||
@@ -42,7 +42,7 @@ namespace Orchard.Roles.Models {
|
||||
}
|
||||
}
|
||||
|
||||
protected override void GetEditors(GetModelEditorsContext context) {
|
||||
protected override void GetEditors(GetContentEditorsContext context) {
|
||||
var userRoles = context.ContentItem.As<UserRolesModel>();
|
||||
if (userRoles != null) {
|
||||
var roles =
|
||||
@@ -63,7 +63,7 @@ namespace Orchard.Roles.Models {
|
||||
}
|
||||
}
|
||||
|
||||
protected override void UpdateEditors(UpdateModelContext context) {
|
||||
protected override void UpdateEditors(UpdateContentContext context) {
|
||||
var userRoles = context.ContentItem.As<UserRolesModel>();
|
||||
if (userRoles != null) {
|
||||
var viewModel = new UserRolesViewModel();
|
||||
|
@@ -12,7 +12,7 @@ using Orchard.Users.ViewModels;
|
||||
|
||||
namespace Orchard.Users.Controllers {
|
||||
|
||||
public class AdminController : Controller, IModelUpdater {
|
||||
public class AdminController : Controller, IUpdateModel {
|
||||
private readonly IMembershipService _membershipService;
|
||||
private readonly IContentManager _contentManager;
|
||||
private readonly IRepository<UserRecord> _userRepository;
|
||||
@@ -86,7 +86,7 @@ namespace Orchard.Users.Controllers {
|
||||
}
|
||||
|
||||
|
||||
bool IModelUpdater.TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) {
|
||||
bool IUpdateModel.TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) {
|
||||
return TryUpdateModel(model, prefix, includeProperties, excludeProperties);
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Users.Models {
|
||||
public class UserDriver : ModelDriver {
|
||||
public class UserDriver : ContentHandler {
|
||||
public UserDriver(IRepository<UserRecord> repository) {
|
||||
Filters.Add(new ActivatingFilter<UserModel>("user"));
|
||||
Filters.Add(new StorageFilterForRecord<UserRecord>(repository));
|
||||
|
@@ -6,9 +6,9 @@ using Orchard.Core.Common.Models;
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Wikis.Models {
|
||||
public class WikiPageDriver : ModelDriver {
|
||||
protected override void Activating(ActivatingModelContext context) {
|
||||
if (context.ModelType == "wikipage") {
|
||||
public class WikiPageDriver : ContentHandler {
|
||||
protected override void Activating(ActivatingContentContext context) {
|
||||
if (context.ContentType == "wikipage") {
|
||||
context.Builder
|
||||
.Weld<CommonModel>()
|
||||
.Weld<RoutableModel>()
|
||||
|
@@ -16,7 +16,7 @@ namespace Orchard.Wikis.Models {
|
||||
public virtual string WikiEditTheme { get; set; }
|
||||
}
|
||||
|
||||
public class WikiSettingsDriver : ModelDriver {
|
||||
public class WikiSettingsDriver : ContentHandler {
|
||||
public WikiSettingsDriver(IRepository<WikiSettingsRecord> repository) {
|
||||
Filters.Add(new ActivatingFilter<WikiSettings>("site"));
|
||||
Filters.Add(new StorageFilterForRecord<WikiSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });
|
||||
@@ -25,7 +25,7 @@ namespace Orchard.Wikis.Models {
|
||||
Filters.Add(new ActivatingFilter<WikiSettings>("user"));
|
||||
}
|
||||
|
||||
protected override void GetEditors(GetModelEditorsContext context) {
|
||||
protected override void GetEditors(GetContentEditorsContext context) {
|
||||
var model = context.ContentItem.As<WikiSettings>();
|
||||
if (model == null)
|
||||
return;
|
||||
@@ -33,7 +33,7 @@ namespace Orchard.Wikis.Models {
|
||||
context.Editors.Add(ModelTemplate.For(model.Record, "WikiSettings"));
|
||||
}
|
||||
|
||||
protected override void UpdateEditors(UpdateModelContext context) {
|
||||
protected override void UpdateEditors(UpdateContentContext context) {
|
||||
var model = context.ContentItem.As<WikiSettings>();
|
||||
if (model == null)
|
||||
return;
|
||||
|
@@ -22,29 +22,29 @@ namespace Orchard.Models {
|
||||
_contentTypeRepository = contentTypeRepository;
|
||||
}
|
||||
|
||||
private IEnumerable<IModelDriver> _drivers;
|
||||
public IEnumerable<IModelDriver> Drivers {
|
||||
private IEnumerable<IContentHandler> _drivers;
|
||||
public IEnumerable<IContentHandler> Drivers {
|
||||
get {
|
||||
if (_drivers == null)
|
||||
_drivers = _context.Resolve<IEnumerable<IModelDriver>>();
|
||||
_drivers = _context.Resolve<IEnumerable<IContentHandler>>();
|
||||
return _drivers;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual ContentItem New(string modelType) {
|
||||
public virtual ContentItem New(string contentType) {
|
||||
|
||||
// create a new kernel for the model instance
|
||||
var context = new ActivatingModelContext {
|
||||
ModelType = modelType,
|
||||
Builder = new ContentItemBuilder(modelType)
|
||||
var context = new ActivatingContentContext {
|
||||
ContentType = contentType,
|
||||
Builder = new ContentItemBuilder(contentType)
|
||||
};
|
||||
|
||||
// invoke drivers to weld aspects onto kernel
|
||||
foreach (var driver in Drivers) {
|
||||
driver.Activating(context);
|
||||
}
|
||||
var context2 = new ActivatedModelContext {
|
||||
ContentType = modelType,
|
||||
var context2 = new ActivatedContentContext {
|
||||
ContentType = contentType,
|
||||
ContentItem = context.Builder.Build()
|
||||
};
|
||||
foreach (var driver in Drivers) {
|
||||
@@ -60,9 +60,9 @@ namespace Orchard.Models {
|
||||
var contentItemRecord = _contentItemRepository.Get(id);
|
||||
|
||||
// create a context with a new instance to load
|
||||
var context = new LoadModelContext {
|
||||
var context = new LoadContentContext {
|
||||
Id = contentItemRecord.Id,
|
||||
ModelType = contentItemRecord.ContentType.Name,
|
||||
ContentType = contentItemRecord.ContentType.Name,
|
||||
ContentItemRecord = contentItemRecord,
|
||||
ContentItem = New(contentItemRecord.ContentType.Name)
|
||||
};
|
||||
@@ -87,9 +87,9 @@ namespace Orchard.Models {
|
||||
_contentItemRepository.Create(modelRecord);
|
||||
|
||||
// build a context with the initialized instance to create
|
||||
var context = new CreateModelContext {
|
||||
var context = new CreateContentContext {
|
||||
Id = modelRecord.Id,
|
||||
ModelType = modelRecord.ContentType.Name,
|
||||
ContentType = modelRecord.ContentType.Name,
|
||||
ContentItemRecord = modelRecord,
|
||||
ContentItem = contentItem
|
||||
};
|
||||
@@ -108,15 +108,15 @@ namespace Orchard.Models {
|
||||
}
|
||||
|
||||
public IEnumerable<ModelTemplate> GetEditors(ContentItem contentItem) {
|
||||
var context = new GetModelEditorsContext(contentItem);
|
||||
var context = new GetContentEditorsContext(contentItem);
|
||||
foreach (var driver in Drivers) {
|
||||
driver.GetEditors(context);
|
||||
}
|
||||
return context.Editors;
|
||||
}
|
||||
|
||||
public IEnumerable<ModelTemplate> UpdateEditors(ContentItem contentItem, IModelUpdater updater) {
|
||||
var context = new UpdateModelContext(contentItem, updater);
|
||||
public IEnumerable<ModelTemplate> UpdateEditors(ContentItem contentItem, IUpdateModel updater) {
|
||||
var context = new UpdateContentContext(contentItem, updater);
|
||||
foreach (var driver in Drivers) {
|
||||
driver.UpdateEditors(context);
|
||||
}
|
||||
@@ -124,13 +124,13 @@ namespace Orchard.Models {
|
||||
}
|
||||
|
||||
private ContentTypeRecord AcquireContentTypeRecord(string contentType) {
|
||||
var modelTypeRecord = _contentTypeRepository.Get(x => x.Name == contentType);
|
||||
if (modelTypeRecord == null) {
|
||||
var contentTypeRecord = _contentTypeRepository.Get(x => x.Name == contentType);
|
||||
if (contentTypeRecord == null) {
|
||||
//TEMP: this is not safe... ContentItem types could be created concurrently?
|
||||
modelTypeRecord = new ContentTypeRecord { Name = contentType };
|
||||
_contentTypeRepository.Create(modelTypeRecord);
|
||||
contentTypeRecord = new ContentTypeRecord { Name = contentType };
|
||||
_contentTypeRepository.Create(contentTypeRecord);
|
||||
}
|
||||
return modelTypeRecord;
|
||||
return contentTypeRecord;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public class ActivatedModelContext {
|
||||
public class ActivatedContentContext {
|
||||
public string ContentType { get; set; }
|
||||
public ContentItem ContentItem { get; set; }
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public class ActivatingModelContext {
|
||||
public string ModelType { get; set; }
|
||||
public class ActivatingContentContext {
|
||||
public string ContentType { get; set; }
|
||||
public ContentItemBuilder Builder { get; set; }
|
||||
}
|
||||
}
|
@@ -2,19 +2,19 @@ using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Orchard.Models.Driver {
|
||||
public class ActivatingFilter<TPart> : IModelActivatingFilter where TPart : class, IContentItemPart, new() {
|
||||
public class ActivatingFilter<TPart> : IContentActivatingFilter where TPart : class, IContentItemPart, new() {
|
||||
private readonly Func<string, bool> _predicate;
|
||||
|
||||
public ActivatingFilter(Func<string, bool> predicate) {
|
||||
_predicate = predicate;
|
||||
}
|
||||
|
||||
public ActivatingFilter(params string[] modelTypes)
|
||||
: this(modelType => modelTypes.Contains(modelType)) {
|
||||
public ActivatingFilter(params string[] contentTypes)
|
||||
: this(contentType => contentTypes.Contains(contentType)) {
|
||||
}
|
||||
|
||||
public void Activating(ActivatingModelContext context) {
|
||||
if (_predicate(context.ModelType))
|
||||
public void Activating(ActivatingContentContext context) {
|
||||
if (_predicate(context.ContentType))
|
||||
context.Builder.Weld<TPart>();
|
||||
}
|
||||
}
|
||||
|
89
src/Orchard/Models/Driver/ContentHandler.cs
Normal file
89
src/Orchard/Models/Driver/ContentHandler.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Orchard.Logging;
|
||||
|
||||
namespace Orchard.Models.Driver {
|
||||
public abstract class ContentHandler : IContentHandler {
|
||||
protected ContentHandler() {
|
||||
Filters = new List<IContentFilter>();
|
||||
Logger = NullLogger.Instance;
|
||||
}
|
||||
|
||||
public List<IContentFilter> Filters { get; set; }
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
public void AddOnActivated<TPart>(Action<ActivatedContentContext, TPart> handler) where TPart : class, IContentItemPart {
|
||||
Filters.Add(new InlineStorageFilter<TPart> { OnActivated = handler });
|
||||
}
|
||||
public void AddOnCreating<TPart>(Action<CreateContentContext, TPart> handler) where TPart : class, IContentItemPart {
|
||||
Filters.Add(new InlineStorageFilter<TPart> { OnCreating = handler });
|
||||
}
|
||||
public void AddOnLoaded<TPart>(Action<LoadContentContext, TPart> handler) where TPart : class, IContentItemPart {
|
||||
Filters.Add(new InlineStorageFilter<TPart> { OnLoaded = handler });
|
||||
}
|
||||
|
||||
class InlineStorageFilter<TPart> : StorageFilterBase<TPart> where TPart : class, IContentItemPart {
|
||||
public Action<ActivatedContentContext, TPart> OnActivated { get; set; }
|
||||
public Action<CreateContentContext, TPart> OnCreating { get; set; }
|
||||
public Action<CreateContentContext, TPart> OnCreated { get; set; }
|
||||
public Action<LoadContentContext, TPart> OnLoading { get; set; }
|
||||
public Action<LoadContentContext, TPart> 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 Loaded(LoadContentContext context, TPart instance) { if (OnLoaded != null) OnLoaded(context, instance); }
|
||||
}
|
||||
|
||||
void IContentHandler.Activating(ActivatingContentContext context) {
|
||||
foreach (var filter in Filters.OfType<IContentActivatingFilter>())
|
||||
filter.Activating(context);
|
||||
Activating(context);
|
||||
}
|
||||
|
||||
void IContentHandler.Activated(ActivatedContentContext context) {
|
||||
foreach (var filter in Filters.OfType<IContentStorageFilter>())
|
||||
filter.Activated(context);
|
||||
Activated(context);
|
||||
}
|
||||
|
||||
void IContentHandler.Creating(CreateContentContext context) {
|
||||
foreach (var filter in Filters.OfType<IContentStorageFilter>())
|
||||
filter.Creating(context);
|
||||
Creating(context);
|
||||
}
|
||||
|
||||
void IContentHandler.Created(CreateContentContext context) {
|
||||
foreach (var filter in Filters.OfType<IContentStorageFilter>())
|
||||
filter.Created(context);
|
||||
Created(context);
|
||||
}
|
||||
|
||||
void IContentHandler.Loading(LoadContentContext context) {
|
||||
foreach (var filter in Filters.OfType<IContentStorageFilter>())
|
||||
filter.Loading(context);
|
||||
Loading(context);
|
||||
}
|
||||
|
||||
void IContentHandler.Loaded(LoadContentContext context) {
|
||||
foreach (var filter in Filters.OfType<IContentStorageFilter>())
|
||||
filter.Loaded(context);
|
||||
Loaded(context);
|
||||
}
|
||||
|
||||
void IContentHandler.GetEditors(GetContentEditorsContext context) { GetEditors(context); }
|
||||
void IContentHandler.UpdateEditors(UpdateContentContext context) { UpdateEditors(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 GetEditors(GetContentEditorsContext context) {}
|
||||
|
||||
protected virtual void UpdateEditors(UpdateContentContext context) {}
|
||||
}
|
||||
}
|
@@ -1,9 +1,9 @@
|
||||
using Orchard.Models.Records;
|
||||
|
||||
namespace Orchard.Models.Driver {
|
||||
public class CreateModelContext {
|
||||
public class CreateContentContext {
|
||||
public int Id { get; set; }
|
||||
public string ModelType { get; set; }
|
||||
public string ContentType { get; set; }
|
||||
public ContentItemRecord ContentItemRecord { get; set; }
|
||||
public ContentItem ContentItem { get; set; }
|
||||
}
|
@@ -2,8 +2,8 @@ using System.Collections.Generic;
|
||||
using Orchard.UI.Models;
|
||||
|
||||
namespace Orchard.Models.Driver {
|
||||
public class GetModelEditorsContext {
|
||||
public GetModelEditorsContext(ContentItem part) {
|
||||
public class GetContentEditorsContext {
|
||||
public GetContentEditorsContext(ContentItem part) {
|
||||
ContentItem = part;
|
||||
Editors= new List<ModelTemplate>();
|
||||
}
|
5
src/Orchard/Models/Driver/IContentActivatingFilter.cs
Normal file
5
src/Orchard/Models/Driver/IContentActivatingFilter.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IContentActivatingFilter : IContentFilter {
|
||||
void Activating(ActivatingContentContext context);
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IModelFilter {
|
||||
public interface IContentFilter {
|
||||
}
|
||||
}
|
13
src/Orchard/Models/Driver/IContentHandler.cs
Normal file
13
src/Orchard/Models/Driver/IContentHandler.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IContentHandler : IDependency {
|
||||
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 GetEditors(GetContentEditorsContext context);
|
||||
void UpdateEditors(UpdateContentContext context);
|
||||
}
|
||||
}
|
9
src/Orchard/Models/Driver/IContentStorageFilter.cs
Normal file
9
src/Orchard/Models/Driver/IContentStorageFilter.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IContentStorageFilter : IContentFilter {
|
||||
void Activated(ActivatedContentContext context);
|
||||
void Creating(CreateContentContext context);
|
||||
void Created(CreateContentContext context);
|
||||
void Loading(LoadContentContext context);
|
||||
void Loaded(LoadContentContext context);
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IModelActivatingFilter : IModelFilter {
|
||||
void Activating(ActivatingModelContext context);
|
||||
}
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IModelDriver : IDependency {
|
||||
void Activating(ActivatingModelContext context);
|
||||
void Activated(ActivatedModelContext context);
|
||||
void Creating(CreateModelContext context);
|
||||
void Created(CreateModelContext context);
|
||||
void Loading(LoadModelContext context);
|
||||
void Loaded(LoadModelContext context);
|
||||
|
||||
void GetEditors(GetModelEditorsContext context);
|
||||
void UpdateEditors(UpdateModelContext context);
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IModelStorageFilter : IModelFilter {
|
||||
void Activated(ActivatedModelContext context);
|
||||
void Creating(CreateModelContext context);
|
||||
void Created(CreateModelContext context);
|
||||
void Loading(LoadModelContext context);
|
||||
void Loaded(LoadModelContext context);
|
||||
}
|
||||
}
|
@@ -1,5 +1,5 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public interface IModelUpdater {
|
||||
public interface IUpdateModel {
|
||||
bool TryUpdateModel<TModel>(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) where TModel : class;
|
||||
}
|
||||
}
|
@@ -2,9 +2,9 @@ using System;
|
||||
using Orchard.Models.Records;
|
||||
|
||||
namespace Orchard.Models.Driver {
|
||||
public class LoadModelContext {
|
||||
public class LoadContentContext {
|
||||
public int Id { get; set; }
|
||||
public string ModelType { get; set; }
|
||||
public string ContentType { get; set; }
|
||||
public ContentItemRecord ContentItemRecord { get; set; }
|
||||
public ContentItem ContentItem { get; set; }
|
||||
}
|
@@ -1,89 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Orchard.Logging;
|
||||
|
||||
namespace Orchard.Models.Driver {
|
||||
public abstract class ModelDriver : IModelDriver {
|
||||
protected ModelDriver() {
|
||||
Filters = new List<IModelFilter>();
|
||||
Logger = NullLogger.Instance;
|
||||
}
|
||||
|
||||
public List<IModelFilter> Filters { get; set; }
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
public void AddOnActivated<TPart>(Action<ActivatedModelContext, TPart> handler) where TPart : class, IContentItemPart {
|
||||
Filters.Add(new InlineStorageFilter<TPart> { OnActivated = handler });
|
||||
}
|
||||
public void AddOnCreating<TPart>(Action<CreateModelContext, TPart> handler) where TPart : class, IContentItemPart {
|
||||
Filters.Add(new InlineStorageFilter<TPart> { OnCreating = handler });
|
||||
}
|
||||
public void AddOnLoaded<TPart>(Action<LoadModelContext, TPart> handler) where TPart : class, IContentItemPart {
|
||||
Filters.Add(new InlineStorageFilter<TPart> { OnLoaded = handler });
|
||||
}
|
||||
|
||||
class InlineStorageFilter<TPart> : StorageFilterBase<TPart> where TPart : class, IContentItemPart {
|
||||
public Action<ActivatedModelContext, TPart> OnActivated { get; set; }
|
||||
public Action<CreateModelContext, TPart> OnCreating { get; set; }
|
||||
public Action<CreateModelContext, TPart> OnCreated { get; set; }
|
||||
public Action<LoadModelContext, TPart> OnLoading { get; set; }
|
||||
public Action<LoadModelContext, TPart> OnLoaded { get; set; }
|
||||
protected override void Activated(ActivatedModelContext context, TPart instance) { if (OnActivated != null) OnActivated(context, instance); }
|
||||
protected override void Creating(CreateModelContext context, TPart instance) { if (OnCreating != null) OnCreating(context, instance); }
|
||||
protected override void Loaded(LoadModelContext context, TPart instance) { if (OnLoaded != null) OnLoaded(context, instance); }
|
||||
}
|
||||
|
||||
void IModelDriver.Activating(ActivatingModelContext context) {
|
||||
foreach (var filter in Filters.OfType<IModelActivatingFilter>())
|
||||
filter.Activating(context);
|
||||
Activating(context);
|
||||
}
|
||||
|
||||
void IModelDriver.Activated(ActivatedModelContext context) {
|
||||
foreach (var filter in Filters.OfType<IModelStorageFilter>())
|
||||
filter.Activated(context);
|
||||
Activated(context);
|
||||
}
|
||||
|
||||
void IModelDriver.Creating(CreateModelContext context) {
|
||||
foreach (var filter in Filters.OfType<IModelStorageFilter>())
|
||||
filter.Creating(context);
|
||||
Creating(context);
|
||||
}
|
||||
|
||||
void IModelDriver.Created(CreateModelContext context) {
|
||||
foreach (var filter in Filters.OfType<IModelStorageFilter>())
|
||||
filter.Created(context);
|
||||
Created(context);
|
||||
}
|
||||
|
||||
void IModelDriver.Loading(LoadModelContext context) {
|
||||
foreach (var filter in Filters.OfType<IModelStorageFilter>())
|
||||
filter.Loading(context);
|
||||
Loading(context);
|
||||
}
|
||||
|
||||
void IModelDriver.Loaded(LoadModelContext context) {
|
||||
foreach (var filter in Filters.OfType<IModelStorageFilter>())
|
||||
filter.Loaded(context);
|
||||
Loaded(context);
|
||||
}
|
||||
|
||||
void IModelDriver.GetEditors(GetModelEditorsContext context) { GetEditors(context); }
|
||||
void IModelDriver.UpdateEditors(UpdateModelContext context) { UpdateEditors(context); }
|
||||
|
||||
protected virtual void Activating(ActivatingModelContext context) { }
|
||||
protected virtual void Activated(ActivatedModelContext context) { }
|
||||
|
||||
protected virtual void Loading(LoadModelContext context) { }
|
||||
protected virtual void Loaded(LoadModelContext context) { }
|
||||
|
||||
protected virtual void Creating(CreateModelContext context) { }
|
||||
protected virtual void Created(CreateModelContext context) { }
|
||||
|
||||
protected virtual void GetEditors(GetModelEditorsContext context) {}
|
||||
|
||||
protected virtual void UpdateEditors(UpdateModelContext context) {}
|
||||
}
|
||||
}
|
@@ -1,34 +1,34 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public abstract class StorageFilterBase<TPart> : IModelStorageFilter where TPart : class, IContentItemPart {
|
||||
public abstract class StorageFilterBase<TPart> : IContentStorageFilter where TPart : class, IContentItemPart {
|
||||
|
||||
protected virtual void Activated(ActivatedModelContext context, TPart instance) { }
|
||||
protected virtual void Creating(CreateModelContext context, TPart instance) { }
|
||||
protected virtual void Created(CreateModelContext context, TPart instance) { }
|
||||
protected virtual void Loading(LoadModelContext context, TPart instance) { }
|
||||
protected virtual void Loaded(LoadModelContext context, TPart instance) { }
|
||||
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 IModelStorageFilter.Activated(ActivatedModelContext context) {
|
||||
void IContentStorageFilter.Activated(ActivatedContentContext context) {
|
||||
if (context.ContentItem.Is<TPart>())
|
||||
Activated(context, context.ContentItem.As<TPart>());
|
||||
}
|
||||
|
||||
void IModelStorageFilter.Creating(CreateModelContext context) {
|
||||
void IContentStorageFilter.Creating(CreateContentContext context) {
|
||||
if (context.ContentItem.Is<TPart>())
|
||||
Creating(context, context.ContentItem.As<TPart>());
|
||||
}
|
||||
|
||||
void IModelStorageFilter.Created(CreateModelContext context) {
|
||||
void IContentStorageFilter.Created(CreateContentContext context) {
|
||||
if (context.ContentItem.Is<TPart>())
|
||||
Created(context, context.ContentItem.As<TPart>());
|
||||
}
|
||||
|
||||
void IModelStorageFilter.Loading(LoadModelContext context) {
|
||||
void IContentStorageFilter.Loading(LoadContentContext context) {
|
||||
if (context.ContentItem.Is<TPart>())
|
||||
Loading(context, context.ContentItem.As<TPart>());
|
||||
}
|
||||
|
||||
void IModelStorageFilter.Loaded(LoadModelContext context) {
|
||||
void IContentStorageFilter.Loaded(LoadContentContext context) {
|
||||
if (context.ContentItem.Is<TPart>())
|
||||
Loaded(context, context.ContentItem.As<TPart>());
|
||||
}
|
||||
|
@@ -11,16 +11,16 @@ namespace Orchard.Models.Driver {
|
||||
|
||||
public bool AutomaticallyCreateMissingRecord { get; set; }
|
||||
|
||||
protected override void Activated(ActivatedModelContext context, ContentItemPartWithRecord<TRecord> instance) {
|
||||
protected override void Activated(ActivatedContentContext context, ContentItemPartWithRecord<TRecord> instance) {
|
||||
instance.Record = new TRecord();
|
||||
}
|
||||
|
||||
protected override void Creating(CreateModelContext context, ContentItemPartWithRecord<TRecord> instance) {
|
||||
protected override void Creating(CreateContentContext context, ContentItemPartWithRecord<TRecord> instance) {
|
||||
instance.Record.ContentItem = context.ContentItemRecord;
|
||||
_repository.Create(instance.Record);
|
||||
}
|
||||
|
||||
protected override void Loading(LoadModelContext context, ContentItemPartWithRecord<TRecord> instance) {
|
||||
protected override void Loading(LoadContentContext context, ContentItemPartWithRecord<TRecord> instance) {
|
||||
instance.Record = _repository.Get(instance.ContentItem.Id);
|
||||
if (instance.Record == null && AutomaticallyCreateMissingRecord) {
|
||||
instance.Record = new TRecord {ContentItem = context.ContentItemRecord};
|
||||
|
9
src/Orchard/Models/Driver/UpdateContentContext.cs
Normal file
9
src/Orchard/Models/Driver/UpdateContentContext.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public class UpdateContentContext : GetContentEditorsContext {
|
||||
public UpdateContentContext(ContentItem contentItem, IUpdateModel updater) : base(contentItem) {
|
||||
Updater = updater;
|
||||
}
|
||||
|
||||
public IUpdateModel Updater { get; set; }
|
||||
}
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
namespace Orchard.Models.Driver {
|
||||
public class UpdateModelContext : GetModelEditorsContext {
|
||||
public UpdateModelContext(ContentItem contentItem, IModelUpdater updater) : base(contentItem) {
|
||||
Updater = updater;
|
||||
}
|
||||
|
||||
public IModelUpdater Updater { get; set; }
|
||||
}
|
||||
}
|
@@ -1,12 +1,5 @@
|
||||
namespace Orchard.Models {
|
||||
public interface IContentItemPart {
|
||||
ContentItem ContentItem { get; set; }
|
||||
//int Id { get; }
|
||||
//string ModelType { get; }
|
||||
|
||||
//bool Is<T>() where T : class, IContentItemPart;
|
||||
//T As<T>() where T : class, IContentItemPart;
|
||||
|
||||
//void Weld(IContentItemPart part);
|
||||
}
|
||||
}
|
||||
|
@@ -9,6 +9,6 @@ namespace Orchard.Models {
|
||||
void Create(ContentItem contentItem);
|
||||
|
||||
IEnumerable<ModelTemplate> GetEditors(ContentItem contentItem);
|
||||
IEnumerable<ModelTemplate> UpdateEditors(ContentItem contentItem, IModelUpdater updater);
|
||||
IEnumerable<ModelTemplate> UpdateEditors(ContentItem contentItem, IUpdateModel updater);
|
||||
}
|
||||
}
|
||||
|
@@ -124,12 +124,12 @@
|
||||
<Compile Include="Localization\Localizer.cs" />
|
||||
<Compile Include="Localization\LocalizedString.cs" />
|
||||
<Compile Include="Localization\NullLocalizer.cs" />
|
||||
<Compile Include="Models\Driver\ActivatedModelContext.cs" />
|
||||
<Compile Include="Models\Driver\ActivatedContentContext.cs" />
|
||||
<Compile Include="Models\Driver\ActivatingFilter.cs" />
|
||||
<Compile Include="Models\Driver\IModelActivatingFilter.cs" />
|
||||
<Compile Include="Models\Driver\IModelFilter.cs" />
|
||||
<Compile Include="Models\Driver\IModelStorageFilter.cs" />
|
||||
<Compile Include="Models\Driver\IModelUpdater.cs" />
|
||||
<Compile Include="Models\Driver\IContentActivatingFilter.cs" />
|
||||
<Compile Include="Models\Driver\IContentFilter.cs" />
|
||||
<Compile Include="Models\Driver\IContentStorageFilter.cs" />
|
||||
<Compile Include="Models\Driver\IUpdateModel.cs" />
|
||||
<Compile Include="Environment\ServiceLocator.cs" />
|
||||
<Compile Include="Logging\CastleLogger.cs" />
|
||||
<Compile Include="Logging\CastleLoggerFactory.cs" />
|
||||
@@ -140,16 +140,16 @@
|
||||
<Compile Include="Logging\NullLogger.cs" />
|
||||
<Compile Include="Logging\NullLoggerFactory.cs" />
|
||||
<Compile Include="Models\DefaultContentManager.cs" />
|
||||
<Compile Include="Models\Driver\CreateModelContext.cs" />
|
||||
<Compile Include="Models\Driver\LoadModelContext.cs" />
|
||||
<Compile Include="Models\Driver\CreateContentContext.cs" />
|
||||
<Compile Include="Models\Driver\LoadContentContext.cs" />
|
||||
<Compile Include="Models\Driver\ContentItemBuilder.cs" />
|
||||
<Compile Include="Models\Driver\ModelDriver.cs" />
|
||||
<Compile Include="Models\Driver\ActivatingModelContext.cs" />
|
||||
<Compile Include="Models\Driver\GetModelEditorsContext.cs" />
|
||||
<Compile Include="Models\Driver\ContentHandler.cs" />
|
||||
<Compile Include="Models\Driver\ActivatingContentContext.cs" />
|
||||
<Compile Include="Models\Driver\GetContentEditorsContext.cs" />
|
||||
<Compile Include="Models\Driver\StorageFilterForRecord.cs" />
|
||||
<Compile Include="Models\Driver\StorageFilterBase.cs" />
|
||||
<Compile Include="Models\IContentManager.cs" />
|
||||
<Compile Include="Models\Driver\IModelDriver.cs" />
|
||||
<Compile Include="Models\Driver\IContentHandler.cs" />
|
||||
<Compile Include="Models\ContentExtensions.cs" />
|
||||
<Compile Include="Models\ContentItemPart.cs" />
|
||||
<Compile Include="Models\IContentItemPart.cs" />
|
||||
@@ -158,7 +158,7 @@
|
||||
<Compile Include="Models\Records\ContentPartRecordBase.cs" />
|
||||
<Compile Include="Models\Records\ContentTypeRecord.cs" />
|
||||
<Compile Include="Models\Records\ContentItemRecord.cs" />
|
||||
<Compile Include="Models\Driver\UpdateModelContext.cs" />
|
||||
<Compile Include="Models\Driver\UpdateContentContext.cs" />
|
||||
<Compile Include="Mvc\Html\HtmlHelperExtensions.cs" />
|
||||
<Compile Include="Mvc\Filters\FilterProvider.cs" />
|
||||
<Compile Include="Mvc\Filters\FilterResolvingActionInvoker.cs" />
|
||||
|
Reference in New Issue
Block a user