Skip to content

CreatePolicyTaskRequestValidator

A FluentValidation AbstractValidator<CreatePolicyTaskRequest> that confirms a policy-task creation request references a real policy and carries a valid due date and non-empty, length-bounded task text. It depends on ITaskQueryProvider to confirm the requested policy number resolves to an actual policy.

Purpose

  • Rejects requests whose PolicyNumber does not resolve to an existing policy via ITaskQueryProvider.PolicyQueries.GetPolicy.
  • Rejects requests with an unset (DateTime.MinValue) due date.
  • Rejects requests with null/empty text or text exceeding 4000 characters.

Context

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

Public members

Member Signature Purpose
CreatePolicyTaskRequestValidator(...) public CreatePolicyTaskRequestValidator(ITaskQueryProvider provider) Registers FluentValidation rules for PolicyNumber (must resolve to an existing policy), TaskDate (required), and TaskText (required, max 4000 characters) against the injected task query provider.

Behavioral notes

  • Unlike TaskValidator<TTask>, this validator does not check that the due date falls on a working day — it only checks that it is set — so working-day enforcement for policy-task requests happens elsewhere (or not at all) for this specific request type*.
  • This validator is instantiated by TaskValidatorFactory specifically for CreatePolicyTaskRequest, and is used by TaskFactory via IValidationService.Validate before a marketing or underwriting task is created.

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/Tasks/Validators/CreatePolicyTaskRequestValidator.cs