Class MailRuleExecutionComposer
- Namespace
- MailFathom.Application.Rules.History
- Assembly
- MailFathom.Application.dll
Turns what one email's evaluation concluded, and what recording its actions produced, into the history.
public static class MailRuleExecutionComposer
- Inheritance
-
MailRuleExecutionComposer
- Inherited Members
Remarks
One execution per rule the pass reached, which is what makes the two silences different: a rule below one that ended the pass produced no evaluation and therefore leaves no row, while a rule that was asked and said no leaves a row saying so. An operator asking why a rule never fires can then tell "it is never reached" from "it is never true".
Composing here rather than in the pass keeps the join between a plan and its recording in one place. The plan states what each matching rule asked for and which of those another rule had already settled; the recording states which of the rest reached a mutation record and which were refused by something that had stopped being true. Neither half is the answer on its own, and an action must appear exactly once whichever half it fell into.
Methods
- Compose(MailAccountId, StoredEmailId, MailRuleSetEvaluation, MailRuleExecutionTrigger, MailRuleActionRecording, DateTimeOffset)
Composes the executions one evaluated email leaves behind.