mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-24 05:23:33 +08:00
Refactoring Rules features
--HG-- branch : 1.x
This commit is contained in:
48
src/Orchard.Web/Core/Contents/Handlers/RulesHandler.cs
Normal file
48
src/Orchard.Web/Core/Contents/Handlers/RulesHandler.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.ContentManagement.Handlers;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Events;
|
||||
|
||||
namespace Orchard.Core.Contents.Handlers {
|
||||
|
||||
public interface IRulesManager : IEventHandler
|
||||
{
|
||||
void TriggerEvent(string category, string type, Func<Dictionary<string, object>> tokensContext);
|
||||
}
|
||||
|
||||
[OrchardFeature("Orchard.Core.Contents.Rules")]
|
||||
public class RulePartHandler : ContentHandler
|
||||
{
|
||||
public RulePartHandler(IRulesManager rulesManager)
|
||||
{
|
||||
|
||||
OnPublished<ContentPart>(
|
||||
(context, part) =>
|
||||
rulesManager.TriggerEvent("Content", "Published",
|
||||
() => new Dictionary<string, object> { { "Content", context.ContentItem } }));
|
||||
|
||||
OnPublished<ContentPart>(
|
||||
(context, part) =>
|
||||
rulesManager.TriggerEvent("Content", "Published",
|
||||
() => new Dictionary<string, object> { { "Content", context.ContentItem } } ));
|
||||
|
||||
OnRemoved<ContentPart>(
|
||||
(context, part) =>
|
||||
rulesManager.TriggerEvent("Content", "Removed",
|
||||
() => new Dictionary<string, object> { { "Content", context.ContentItem } }));
|
||||
|
||||
OnVersioned<ContentPart>(
|
||||
(context, part1, part2) =>
|
||||
rulesManager.TriggerEvent("Content", "Versioned",
|
||||
() => new Dictionary<string, object> { { "Content", part1.ContentItem } }));
|
||||
|
||||
OnCreated<ContentPart>(
|
||||
(context, part) =>
|
||||
rulesManager.TriggerEvent("Content", "Created",
|
||||
() => new Dictionary<string, object> { { "Content", context.ContentItem } }));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user