Skip to content

clsXPrintControl

clsXPrintControl represents a single print-control batch header, storing the directory, duplex mode, processed date, IDM path, XML file name, and MD5 hash for a set of documents queued for print processing. It extends clsBusinessBase and uses a nested Criteria class implementing IBusinessCriteria to manage Oracle SQL for insert, retrieve, update, and delete operations against XPRINT_CONTROL.

Purpose

  • Persist and retrieve a print-control batch header row in XPRINT_CONTROL.
  • Translate the DuplexModes enum to/from fixed 5-character database codes.
  • Default IDMPathName to "PROMPT" when no imaging destination is pre-configured.

Context

  • Namespace: SAIF.Services.Printing.Remote
  • Assembly/package: SAIF.BOF.Services.Printing.Remote
  • Base class: clsBusinessBase (from SAIF.BOF.Framework/SAIF.BOF.Business)

Public members

Member Signature Purpose
NewXPrintControl Public Shared Function NewXPrintControl() As clsXPrintControl Factory method — creates a new, empty clsXPrintControl instance via the BOF Create() lifecycle.*
GetXPrintControl Public Shared Function GetXPrintControl(inSeqNum As Decimal) As clsXPrintControl Factory method — retrieves an existing batch header by XPrintControlSeqNum via SQL-013.*
XPrintControlSeqNum Public Property XPrintControlSeqNum As Decimal Primary key. Caller-supplied — no live sequence generation for XPRINT_CONTROL in this library.
DirectoryName Public Property DirectoryName As String Output directory for the print batch. Max length 120.*
DuplexMode Public Property DuplexMode As DuplexModes Duplex printing mode; translates between DuplexModes enum and fixed 5-char codes (DEFLT/HORIZ/VERTL/SIMPL). Unrecognized stored codes yield an implicit VB default.**
ProcessedDate Public Property ProcessedDate As SmartDate Date the batch was processed. Nullable.*
IDMPathName Public Property IDMPathName As String Imaging destination path. Defaults to "PROMPT" per BR-006.*
XMLFileName Public Property XMLFileName As String Generated XML file name for the batch. Max length 120.*
MD5HashValue Public Property MD5HashValue As String MD5 hash of the generated XML file. Max length 40.*
Criteria (nested class) Public Class Criteria Implements IBusinessCriteria Holds SQL text for CRUD operations: InsertSQL (SQL-007), RetrieveSQL (SQL-013), UpdateSQL (SQL-017), DeleteSQL (SQL-022); CreateSQL unconditionally throws (empty).

Behavioral notes

  • DuplexMode setter maps the DuplexModes enum to a 5-character code stored in DuplexCode; getter reverses the mapping. An unrecognized stored code falls through the Select Case with no explicit Return, yielding an implicit VB default (SIMPLEX, ordinal 0).**
  • IDMPathName defaults to "PROMPT" indicating the imaging destination must be resolved by a downstream consumer.** See BR-006.
  • AfterInsert, AfterUpdate, and AfterDelete enforce BR-001 by checking RowsAffected <> 1.
  • No live sequence generation — XPrintControlSeqNum must be supplied by the caller before insert.*

Constraints and usage notes

  • Requires a valid XPrintControlSeqNum before calling insert lifecycle.
  • The CreateSQL property unconditionally throws; use NewXPrintControl() (which skips CreateSQL) for object creation.*
  • Consumed exclusively via NuGet package SAIF.BOF.Services.Printing.Remote — not via local project reference.

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.Printing.Remote\clsXPrintControl.vb
  • Services\SAIF.Services.Printing.Remote\Enums.vb