コード例 #1
0
 internal override BrokeredMessage Execute(BrokeredMessage message, RuleExecutionContext context)
 {
     foreach (RuleAction action in this.actions)
     {
         action.Execute(message, context);
     }
     return(message);
 }
コード例 #2
0
        internal override BrokeredMessage Execute(BrokeredMessage message, RuleExecutionContext context)
        {
            RuleAction ruleAction;

            this.Validate();
            foreach (PropertyReference initialize in this.Initializes)
            {
                if (initialize.PropertyName.Scope != PropertyScope.System)
                {
                    initialize.Value = message.Properties[initialize.PropertyName.Name];
                }
                else
                {
                    initialize.Value = message.GetSystemProperty(initialize.PropertyName.Name);
                }
            }
            Filter filter = this.FilterTemplate.Create();

            if (this.ActionTemplate != null)
            {
                ruleAction = this.ActionTemplate.Create();
            }
            else
            {
                ruleAction = null;
            }
            RuleAction      ruleAction1     = ruleAction;
            Guid            guid            = Guid.NewGuid();
            RuleDescription ruleDescription = new RuleDescription(guid.ToString(), filter)
            {
                Action = ruleAction1,
                Tag    = PropertyReference.GetValue <string>(this.Tag)
            };

            context.AddRule(ruleDescription);
            return(message);
        }
コード例 #3
0
 internal override BrokeredMessage Execute(BrokeredMessage message, RuleExecutionContext context)
 {
     return(this.Execute(message));
 }
コード例 #4
0
 internal abstract BrokeredMessage Execute(BrokeredMessage message, RuleExecutionContext context);