Skip to content

RctPolicyToTransmitService

Implements IRctPolicyToTransmitService, managing the queue of RctPolicyToTransmit records awaiting transmission and triggering the downstream claims-side policy selection call. It depends on IUnitOfWork for repository access and ICCClaimApiService to invoke the external claims-center policy-selection operation.

Purpose

  • Exposes the current set of policies queued for RCT transmission.
  • Adds, updates, and removes individual queued-transmission records, and can clear the entire queue.
  • Triggers claims-center policy selection for a given reload flag and process date.

Context

  • Namespace: SAIF.Services.Rct
  • Assembly/package: SAIF.Services (packaged inside the SAIF.SAIFCode.Core NuGet package)

Public members

Member Signature Purpose
RctPolicyToTransmitService(...) public RctPolicyToTransmitService(IUnitOfWork unitOfWork, ICCClaimApiService ccclaimApiService) Validates unitOfWork is non-null via Enforce.ArgumentNotNull and wires in both collaborators.
GetRctPoliciesToTransmit public IEnumerable<RctPolicyToTransmit> GetRctPoliciesToTransmit { get; } Returns every policy currently queued for RCT transmission, mapped to contracts.
RemoveAllRctPoliciesToTransmit public void RemoveAllRctPoliciesToTransmit() Removes every currently queued policy-to-transmit record one at a time via RemoveRctPolicyToTransmit.
RemoveRctPolicyToTransmit public void RemoveRctPolicyToTransmit(RctPolicyToTransmit policyToTransmit) Deletes the mapped data record for the supplied policy-to-transmit entry from the repository.
InsertRctPolicyToTransmit public void InsertRctPolicyToTransmit(RctPolicyToTransmit policyToTransmit) Adds a new policy-to-transmit record to the repository.
UpdateRctPolicyToTransmit public void UpdateRctPolicyToTransmit(RctPolicyToTransmit policyToTransmit) Updates an existing policy-to-transmit record in the repository.
PolicySelectionAsync public async Task<bool> PolicySelectionAsync(string reloadFlag, DateTime processDate) Delegates to _ccclaimApiService.PolicySelectionAsync, returning whether the external claims-center policy-selection call succeeded.

Behavioral notes

  • None of the mutating members (Remove*, Insert*, Update*) wrap their repository calls in an explicit unitOfWork.Begin()/Commit(), implying they rely on an ambient/externally-managed transaction scope*.
  • RemoveAllRctPoliciesToTransmit re-reads and re-maps the full queue before deleting each entry individually rather than issuing a bulk delete.

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/Rct/RctPolicyToTransmitService.cs