mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-04-24 19:08:18 +08:00
48 lines
1.8 KiB
C#
48 lines
1.8 KiB
C#
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 } }));
|
|
|
|
}
|
|
}
|
|
} |