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 = 0Somebody wrote this person down.
Collected = 1The 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.