Enum MailDraftCopyStage
- Namespace
- MailFathom.Domain.Delivery.Drafts
- Assembly
- MailFathom.Domain.dll
States what has become of one copy of a draft that MailFathom appended to the drafts folder.
public enum MailDraftCopyStage
Fields
Abandoned = 3The copy can no longer be shown to be the one MailFathom appended, so it is left as the owner's.
This is where every divergence lands. What it says is that nothing will touch the copy again — not that the folder no longer holds it — which is the only honest answer once the occurrence stopped being identifiable.
Issued = 0The append has begun and the server's answer to it has not been read.
A copy left here by a stopped process may or may not be in the folder, and it is never appended again: an
APPENDissued twice is a second draft in the owner's folder rather than a repeat of the first. It is also never withdrawn, because nothing names it.Standing = 1The server accepted the append, and the folder holds the copy as far as MailFathom knows.
Withdrawn = 2MailFathom took the copy back out of the folder.
Remarks
It is a stage of its own rather than the one a filed outgoing copy uses, because a draft copy can end in a way a filed copy cannot. A sent copy is appended once and kept; a draft copy is appended, replaced, and taken back out, and the taking out can fail in a way that leaves the copy standing in somebody's folder with nothing left able to name it. Abandoned is that ending, and reporting it as Withdrawn would be MailFathom stating that a message it can no longer reach is gone.
The stage is stored as its name, so an ad-hoc audit query stays readable and a later reordering of this enum changes nothing about a database already written.