Skip to content

Hydrate a hazard group from a reader

Maps a single data-reader row to an initialized, persisted-marked clsHazardGroup instance.

Field Value
Operation ID op-02-hydrate-hazard-group
Trigger Step 6 of Retrieve hazard groups effective on a date
Inputs IDataPortalInfo, open reader positioned on a row
Outputs Initialized, "old"-marked business object
Primary components clsHazardGroup.Load, clsHazardGroup.Fill
Entry point SAIF.Business.Policy/clsHazardGroup.vb

Steps

  1. Cast the reader to clsSAIFDataReader and map columns to fields: HAZARD_GROUP_ID, NCCI_HAZARD_GROUP_CODE, EFFECTIVE_DATE, EXPIRATION_DATE (smart date), HAZARD_GROUP_SHORT_DESCR, HAZARD_GROUP_LONG_DESCR, CREATE_DATE, CREATE_USER, UPDATE_DATE (smart date), UPDATE_USER (smart string).
  2. Create New clsHazardGroup.Criteria(inDataPortalInfo) and assign it to CriteriaObject.
  3. Call MarkOld() so the framework treats the instance as unmodified/persisted.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start(["Row loop in op-01<br>AfterRetrieve"]) --> A["Cast reader to<br>clsSAIFDataReader and map<br>columns to fields"]
    A --> B["Create clsHazardGroup.Criteria<br>and assign to CriteriaObject"]
    B --> C["Call MarkOld()"]
    C --> End(["Return initialized,<br>persisted-marked instance"])

Failure and edge-case behavior

  • Fill assumes every column is present in the reader; nullable columns are absorbed by clsSmartDate/clsSmartString.

Sources

  • SAIF.Business.Policy/clsHazardGroup.vb