RTWService¶
Implements IRTWService, resolving the active return-to-work (RTW) load code assigned to a load user and enforcing that external users can only access RTW claims explicitly assigned to their RTW load code. It depends on IUnitOfWork for repository access to RtwLoadAssignment/RTWCase and on IUserProfileService (exposed as a protected field, though not directly used by its current methods).
Purpose¶
- Resolves the active (non-expired) RTW load code assigned to a given load user, stripping a
"TEST"prefix from the user name before lookup. - Enforces that a user with the
"RTWExternalUpdate"authorization can only access an RTW claim when it is assigned to the load code passed in; internal/non-restricted users are always permitted.
Context¶
- Namespace:
SAIF.Services.Claims.RTW - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| RTWService | public RTWService(IUnitOfWork unitOfWork, IUserProfileService userProfileService) |
Stores the unit-of-work and user-profile collaborators as protected fields for use by derived types and instance methods. |
| GetRTWLoadCode | public string GetRTWLoadCode(string loadUser) |
Strips a leading "TEST" prefix from the load-user name, looks up the matching non-expired RtwLoadAssignment, and returns its RTW load code, or an empty string if none is assigned. |
| CanAccessRTWClaim | public bool CanAccessRTWClaim(long claimId, IApplicationUserProfile currentUser, string rtwLoadCode) |
Returns true unconditionally for users without the "RTWExternalUpdate" authorization; for authorized-external users, returns true only if an RTWCase exists for the claim with the matching RTW load code. |
Behavioral notes¶
GetRTWLoadCodeperforms a case-insensitive load-user comparison and requiresExpirationDate == nullon the assignment, meaning only the currently-active assignment is matched.CanAccessRTWClaimgates its restrictive check behindcurrentUser.IsAuthorized("RTWExternalUpdate"), implying this authorization identifies external RTW users subject to load-code restriction.*
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/Claims/RTW/RTWService.cs