clsXDeferredPrintCollection¶
clsXDeferredPrintCollection is a collection of clsXDeferredPrint deferred print items. It extends clsBusinessCollectionBase and supports two retrieval modes: byDate (items older than a printed-date cutoff or more than 30 days old) and byDocDescr (unprinted items matching a document description). Collection-level insert, update, and delete Before* lifecycle methods are fully commented out — these SQL paths are dead code.
Purpose¶
- Retrieve deferred print items eligible for batch processing or cleanup.
- Enforce the BR-002 retention/eligibility rule via dynamic WHERE clause assembly.
Context¶
- Namespace:
SAIF.Services.Printing.Remote - Assembly/package:
SAIF.BOF.Services.Printing.Remote - Base class:
clsBusinessCollectionBase(fromSAIF.BOF.Framework/SAIF.BOF.Business)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
GetXdeferredPrintCollection |
Public Shared Function GetXdeferredPrintCollection(inPrintedDate As Date) As clsXDeferredPrintCollection* |
Factory method — retrieves by date cutoff (byDate mode) using SQL-010.* |
GetXdeferredPrintCollection (overload) |
Public Shared Function GetXdeferredPrintCollection(inDocumentDescr As String) As clsXDeferredPrintCollection* |
Factory method — retrieves unprinted items by document description (byDocDescr mode) using SQL-010.* |
Criteria (nested class) |
Public Class Criteria Implements IBusinessCriteria |
Holds SQL text: RetrieveSQL (SQL-010); CreateSQL (SQL-002), InsertSQL (SQL-005), UpdateSQL (SQL-016), DeleteSQL (SQL-020) all have Before* methods commented out (dead code). |
Criteria.RetrieveType |
Public Property RetrieveType As String* |
Controls WHERE clause variant: byDate or byDocDescr.* |
Behavioral notes¶
Criteria.NewcomputesThirtyDaysAgoDate = Today.AddDays(-30)to enforce the 30-day staleness threshold.*BeforeRetrievedynamically appends the appropriateWhereClauseandSortOrderto the baseRetrieveSQLtext based onRetrieveType, then binds parameters.*AfterRetrieveiteratesIDataReader, instantiating aclsXDeferredPrintfor each row viaLoad()/Fill().*CreateSQL,InsertSQL,UpdateSQL, andDeleteSQLare defined inCriteriabut their correspondingBefore*methods are fully commented out — all are dead code in this library.
Constraints and usage notes¶
byDatemode binds both:PrintedDateand:ThirtyDaysAgoDate.byDocDescrmode binds:DocumentDescrand filters only unprinted items (PRINTED_DATE IS NULL).- Collection-level insert, update, and delete are not operational in this library.*
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
Services\SAIF.Services.Printing.Remote\clsXDeferredPrintCollection.vb