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¶
IsVoluntary/IsAssignedRiskcompareMarketTypeagainst the correspondingEnums.MarketTypesmember (BR-POL-015).BaseEqualsrequires all eight rating attributes to match (BR-POL-018).BaseGetHashCodeconcatenates 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"])
Related documentation¶
Sources¶
SAIF.Business.Policy/PeriodRatingInfoExtensions.vb