Table of Contents

Enum ContactOrigin

Namespace
MailFathom.Domain.Contacts
Assembly
MailFathom.Domain.dll

States how a contact came to be in the book, and thereby which writer may amend it.

public enum ContactOrigin

Fields

Asserted = 0

Somebody wrote this person down.

Collected = 1

The address appeared in mail that arrived, and collection recorded it.

Remarks

The two values are different claims about the same kind of thing. An asserted contact is one somebody wrote down; a collected one is an address that merely appeared in mail that arrived. Both live in one book, because searching for a person should not require knowing which half they are in, and the difference is kept because it decides what may happen to the record without anybody asking: collection writes only into its own origin, and an asserted contact is never touched by it.

The value therefore doubles as the authority a write carries. A writer amends the contacts of its own origin and no others, which is what makes the rule structural rather than a convention each writer has to remember.