FraudInvestigationService¶
Implements IInvestigationService, resolving the display name of a fraud-investigation subject and the associated claim ID for a given case number. It depends on IUnitOfWork for Investigation repository queries and IWorkerDataApiClient to look up a worker's name from the external worker data API when the subject is identified only by worker ID.
Purpose¶
- Resolves a case's subject name, preferring legacy worker/company/business name data, then falling back to an external worker-data-API lookup by worker ID, then to the policy name, and finally to
"Unknown". - Retrieves the claim ID associated with a fraud-investigation case number.
Context¶
- Namespace:
SAIF.Services.Investigations - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| FraudInvestigationService(...) | public FraudInvestigationService(IUnitOfWork uow, IWorkerDataApiClient workerDataApiClient) |
Wires in the unit of work and worker-data-API client used to resolve subject names. |
| GetSubjectNameAsync | public async Task<string> GetSubjectNameAsync(long caseNumber) |
Returns the subject's legacy worker/company/business name if present, otherwise asynchronously fetches and formats the worker's first/last name by worker ID, otherwise the policy name, otherwise "Unknown"; returns null if the case has no subject-name data at all. |
| GetClaimId | public long GetClaimId(long caseNumber) |
Returns the claim ID linked to the specified investigation case number. |
Behavioral notes¶
- Subject-name resolution follows a strict priority order (legacy name > worker-API lookup by ID > policy name >
"Unknown"), so a case with multiple populated identifiers always resolves via the first match in that order. - The worker-data-API call (
_workerDataApiClient.GetWorker) is only made when aWorkerIdis present and no legacy name was found, avoiding an unnecessary external call for cases already resolved locally.
Sources¶
- Services/SAIF.Services/Investigations/FraudInvestigationService.cs