private void ReadJournalAction(Microsoft.Exchange.MessagingPolicies.Rules.Action action) { if (action.Arguments.Count != 1 || !action.Arguments[0].IsString) { throw new JournalRuleCorruptException(); } this.ReadJournalEmailAddress(((Value)action.Arguments[0]).ParsedValue.ToString()); }
protected override ExecutionControl ExecuteAction(Microsoft.Exchange.MessagingPolicies.Rules.Action action, RulesEvaluationContext context) { ExecutionControl executionControl = base.ExecuteAction(action, context); if (executionControl == ExecutionControl.Execute && action is SenderNotify) { ((OwaRulesEvaluationContext)base.Context).CapturePerRuleMatchData(); } return(executionControl); }
internal JournalingRule Serialize() { Microsoft.Exchange.MessagingPolicies.Rules.Condition condition = this.CreateScopeCondition(); Microsoft.Exchange.MessagingPolicies.Rules.Condition condition2 = this.CreateRecipientCondition(); Microsoft.Exchange.MessagingPolicies.Rules.Condition condition3 = this.CombineUsingAnd(new Microsoft.Exchange.MessagingPolicies.Rules.Condition[] { condition, condition2 }); Microsoft.Exchange.MessagingPolicies.Rules.Action item = this.CreateAction(); JournalingRule journalingRule = (JournalingRule)JournalingRuleParser.Instance.CreateRule(base.Name); journalingRule.Condition = condition3; journalingRule.Actions.Add(item); journalingRule.ExpiryDate = this.ExpiryDate; journalingRule.GccRuleType = JournalRuleObject.ConvertJournalRuleTypeToGccType(this.RuleType); journalingRule.Enabled = (this.enabled ? RuleState.Enabled : RuleState.Disabled); return(journalingRule); }