3.2.7.14 Create Voter Enlistment

The Create Voter Enlistment event MUST be signaled with the following arguments:

  • An Enlistment object

If the Create Voter Enlistment event is signaled, the Core Transaction Manager Facet (section 1.3.3.3.1) MUST perform the following actions:

  • If the state of the transaction object referenced by the provided Enlistment object is not Active (section 3.2.1.3.2) and not  Phase Zero (section 3.2.1.3.3) and not Phase Zero Complete (section 3.2.1.3.4):

    • Signal the Create Voter Enlistment Failure (see section 3.4.7.9 and section3.6.7.12) event on the Enlistment object's Transaction Manager facet with the following arguments:

      • The Enlistment object

      • The Too Late reason code

  • Otherwise:

    • Add the provided Enlistment object to the transaction's Phase One Voter Enlistment list.

    • Signal the Create Voter Enlistment Success (see section 3.4.7.10 and section 3.6.7.13) event on the Enlistment object's Transaction Manager facet with the provided Enlistment object.