Compose local US Bank user identifier¶
This is a small, standalone utility operation: it concatenates a policy number and a business-online user ID into a single composite string, enforces US Bank's 16-character identifier limit, and returns an object exposing that ID alongside a fixed password. It has no BOF persistence and no SOAP call of its own — it exists purely to produce an identifier value another caller can supply to US Bank-facing operations.
| Field | Value |
|---|---|
| Operation ID | OP-EPAY-09 |
| Trigger | Caller invokes User.GetUser(inPolicyNumber, inBusinessOnlineUserId) |
| Inputs | Policy number (String), business-online user ID (String) |
| Outputs | A User instance exposing the composite UserId and a fixed Password |
| Primary components | User.GetUser, User.New (private constructor) |
| Entry point | Business\SAIF.Business.EPay.USBank\User.vb |
Steps¶
- Concatenate the inputs.
GetUserforms the candidate identifier by concatenatinginPolicyNumberandinBusinessOnlineUserIdwith no separator. - Enforce the length limit. If the concatenated string is 16 characters or fewer, construct and return a new
Userwith that value as itsUserId(BR-017). - If longer than 16 characters: throw
Exception("Combination of inPolicyNumber and inBusinessOnlineUserId are too long for US Bank."). A source comment notes a possible future improvement — generating and storing a short surrogate ID instead of throwing — that is not implemented.* - Expose the fixed password. The returned
User.Passwordalways returns the literal string"9999aaaa", the same hardcoded value used elsewhere in this library for US Bank user passwords.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([GetUser policyNumber, businessOnlineUserId]) --> Concat[Concatenate policy number<br>and business-online user ID]
Concat --> Len{Length <= 16?}
Len -->|Yes| Ok([Return new User<br>with composite UserId])
Len -->|No| Err([Throw: combination too long])
Failure and edge-case behavior¶
- There is no separator between the policy number and business-online user ID, so different policy/user pairs could theoretically concatenate to the same composite string if one pair's boundary characters happen to match another's — for example policy
"12"with user"34"versus policy"1"with user"234".* - The 16-character limit throws a plain
System.Exceptionrather than a more specific or application-level exception type, unlike most other failure paths in this library which useApplicationException.* - The class provides no way to reconstruct a
Userfrom an already-known composite ID — the constructor is private, soGetUseris the only entry point.
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Related documentation¶
Sources¶
Business\SAIF.Business.EPay.USBank\User.vb