Table of Contents

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.