src/Orchard.Web/Modules/Orchard.Rules/Providers/ScheduleActions.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using Orchard.ContentManagement;
using Orchard.Data;
using Orchard.Rules.Models;
using Orchard.Rules.Services;
using Orchard.Localization;
using Orchard.Services;
using Orchard.Mvc.Html;
using Orchard.Tasks.Scheduling;
using Orchard.Tokens;
namespace Orchard.Rules.Providers {
public class ScheduleActions : IActionProvider {
private readonly IContentManager _contentManager;
private readonly IScheduledTaskManager _scheduledTaskManager;
private readonly IRepository<RuleRecord> _repository;
private readonly IRepository<ActionRecord> _actionRecordRepository;
private readonly IRepository<ScheduledActionRecord> _scheduledActionRecordRepository;
private readonly IClock _clock;
private readonly ITokenizer _tokenizer;
public ScheduleActions(
IContentManager contentManager,
IScheduledTaskManager scheduledTaskManager,
IRepository<RuleRecord> repository,
IRepository<ActionRecord> actionRecordRepository,
IRepository<ScheduledActionRecord> scheduledActionRecordRepository,
IClock clock,
ITokenizer tokenizer) {
_contentManager = contentManager;
_scheduledTaskManager = scheduledTaskManager;
_repository = repository;
_actionRecordRepository = actionRecordRepository;
_scheduledActionRecordRepository = scheduledActionRecordRepository;
_clock = clock;
_tokenizer = tokenizer;
T = NullLocalizer.Instance;
}
public Localizer T { get; set; }
public void Describe(DescribeActionContext context) {
context.For("System", T("System"), T("System"))
.Element("Delayed", T("Delayed Action"), T("Triggers some actions after a specific amount of time."), CreateDelayedAction, DisplayDelayedAction, "ActionDelay");
}
private LocalizedString DisplayDelayedAction(ActionContext context) {
var amount = Convert.ToInt32(context.Properties["Amount"]);
var type = context.Properties["Unity"];
var ruleId = Convert.ToInt32(context.Properties["RuleId"]);
var rule = _repository.Get(ruleId);
return T.Plural("Triggers \"{1}\" in {0} {2}", "Triggers \"{1}\" in {0} {2}s", amount, rule.Name, type);
}
private bool CreateDelayedAction(ActionContext context) {
var amount = Convert.ToInt32(context.Properties["Amount"]);
var type = context.Properties["Unity"];
var ruleId = Convert.ToInt32(context.Properties["RuleId"]);
后面还有 53 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
