Skip to content

Rating-period comparison helpers

Provides shared market-type classification and equality/hashing helpers for objects implementing iPeriodRatingInfo.

Field Value
Operation ID op-15-rating-period-comparison
Trigger Extension method call on iPeriodRatingInfo
Inputs iPeriodRatingInfo instance(s)
Outputs Boolean / Integer hash
Primary components PeriodRatingInfoExtensions.IsVoluntary, .IsAssignedRisk, .BaseEquals, .BaseGetHashCode
Entry point SAIF.Business.Policy/PeriodRatingInfoExtensions.vb

Steps

  1. IsVoluntary/IsAssignedRisk compare MarketType against the corresponding Enums.MarketTypes member (BR-POL-015).
  2. BaseEquals requires all eight rating attributes to match (BR-POL-018).
  3. BaseGetHashCode concatenates the same eight attribute strings and hashes the result.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start(["Caller invokes extension<br>method"]) --> Which{Which method?}
    Which -->|IsVoluntary /<br>IsAssignedRisk| CompareMarket["Compare MarketType against<br>Enums.MarketTypes member"]
    CompareMarket --> ReturnBool(["Return Boolean result"])
    Which -->|BaseEquals| CompareAll["Compare all eight rating<br>attributes"]
    CompareAll --> ReturnEq(["Return True only if all<br>eight attributes match"])
    Which -->|BaseGetHashCode| Concat["Concatenate the same eight<br>attribute strings"]
    Concat --> HashResult["Hash the concatenated<br>string"]
    HashResult --> ReturnHash(["Return Integer hash"])

Sources

  • SAIF.Business.Policy/PeriodRatingInfoExtensions.vb