Table of Contents

Class RequestCardReplacementCommandHandler

Namespace
SEBT.Portal.UseCases.Household
Assembly
SEBT.Portal.UseCases.dll

Handles card replacement requests for an authenticated user's household. Validates input, resolves household identity, enforces minimum IAL, rejects case refs not on the household, enforces per-case self-service rules, enforces 2-week cooldown via portal DB, and dispatches to the state connector. Persists replacement-request records for future cooldown enforcement only when the connector reports success, so a failed dispatch does not burn the user's 14-day cooldown for an action that never executed. Connector policy rejections and backend errors are mapped to portal Result types.

public class RequestCardReplacementCommandHandler : ICommandHandler<RequestCardReplacementCommand>
Inheritance
object
RequestCardReplacementCommandHandler
Implements

Constructors

RequestCardReplacementCommandHandler(IValidator<RequestCardReplacementCommand>, IHouseholdIdentifierResolver, IHouseholdRepository, IIdProofingService, ISelfServiceEvaluator, IStateCardReplacementService, ICardReplacementRequestRepository, IIdentifierHasher, IDistributedLockProvider, ILogger<RequestCardReplacementCommandHandler>)

Handles card replacement requests for an authenticated user's household. Validates input, resolves household identity, enforces minimum IAL, rejects case refs not on the household, enforces per-case self-service rules, enforces 2-week cooldown via portal DB, and dispatches to the state connector. Persists replacement-request records for future cooldown enforcement only when the connector reports success, so a failed dispatch does not burn the user's 14-day cooldown for an action that never executed. Connector policy rejections and backend errors are mapped to portal Result types.

public RequestCardReplacementCommandHandler(IValidator<RequestCardReplacementCommand> validator, IHouseholdIdentifierResolver resolver, IHouseholdRepository repository, IIdProofingService idProofingService, ISelfServiceEvaluator selfServiceEvaluator, IStateCardReplacementService cardReplacementService, ICardReplacementRequestRepository cardReplacementRepo, IIdentifierHasher identifierHasher, IDistributedLockProvider distributedLockProvider, ILogger<RequestCardReplacementCommandHandler> logger)

Parameters

validator IValidator<RequestCardReplacementCommand>
resolver IHouseholdIdentifierResolver
repository IHouseholdRepository
idProofingService IIdProofingService
selfServiceEvaluator ISelfServiceEvaluator
cardReplacementService IStateCardReplacementService
cardReplacementRepo ICardReplacementRequestRepository
identifierHasher IIdentifierHasher
distributedLockProvider IDistributedLockProvider
logger ILogger<RequestCardReplacementCommandHandler>

Methods

Handle(RequestCardReplacementCommand, CancellationToken)

public Task<Result> Handle(RequestCardReplacementCommand command, CancellationToken cancellationToken = default)

Parameters

command RequestCardReplacementCommand
cancellationToken CancellationToken

Returns

Task<Result>