WhichPrintStatus¶
A public enum nested inside ReportingService that selects which side of a certificate's print status — the certificate-holder copy, the policyholder copy, or both — an update operation (ReportingService.UpdateCertificatesAsPrinted, MarkCertificateAsPrinted) should mark as printed.*
Purpose¶
- Distinguishes certificate-holder-copy print-status updates from policyholder-copy updates so batch and per-policy reporting flows can update only the copy they actually generated and sent.
Context¶
- Namespace:
SAIF.Services.Policies.Certificates(nested insideReportingService) - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package).
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| Certificate | Certificate |
Selects the certificate-holder copy's print status for update (used by MarkCertHolderPrintStatus). |
| Policyholder | Policyholder |
Selects the policyholder copy's print status for update (used by MarkPolicyHolderPrintStatus); this is the value used by GenerateCertificateReportForPolicy and GenerateCertificateSummaryReportForPolicy after sending a policyholder report. |
| Both | Both |
Selects both the certificate-holder and policyholder copies' print statuses for update in a single call; this is the value used by the full batch run in GenerateCertificateBatchReports. |
Behavioral notes¶
ReportingService.MarkCertificateAsPrinted(private) switches on this enum to decide whether to callMarkCertHolderPrintStatus,MarkPolicyHolderPrintStatus, or both for a given certificate.- Each
Mark*PrintStatushelper only flips the corresponding print status toPrintedif it was previouslyReadyToPrint, so re-processing an already-printed certificate with the sameWhichPrintStatusvalue is a no-op for that side.*
Constraints and usage notes¶
- The class carries a
CA1034:NestedTypesShouldNotBeVisiblesuppression on the containing declaration, confirming this public nested enum is an intentional, accepted exception to that design rule rather than an oversight.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
Services/SAIF.Services/Policies/Certificates/ReportingService.cs