SAIF.Presentation.Web.Controls.PopUps.Infragistics111 business rules¶
This page captures business rules enforced by this library's popup controls.
BR-POPUP-001 Claim Activity note requires category and type selection before confirmation¶
Field
Value
Statement
The Category and Type dropdowns must be populated (from cached/queried code tables) before the user can confirm a Claim Activity note; the popup instructs "Please select a category and type."
Trigger
ClaimActivityPopup becomes active and the user clicks the OK (cmdYes) button.
Enforcement
ClaimActivityPopup.vb — LoadDropDowns(), YesButtonClick (no explicit blocking validation is coded beyond dropdown population — the static instructional label in ClaimActivityPopup.ascx is the only enforcement UI observed; there is no code-level guard preventing confirmation with default/empty selections)*.
Outcome
ConfirmAction(True, ClaimNoteEventArgs) is raised carrying the selected category/type; actual persistence is the hosting page's responsibility.
BR-POPUP-002 External-view flag is auto-derived from the selected Claim Activity category¶
Field
Value
Statement
When a Claim Activity Category is selected, the "External View" checkbox is automatically set based on that category's LongDescription code-table flag equal to "Y".
Trigger
User changes the Category dropdown selection (ddlCategoryCodeIndexChanged).
BR-POPUP-003 Notify entry requires a Notify ID, a valid Notify Date, and the date must not precede today¶
Field
Value
Statement
A Notify/Task entry cannot be confirmed unless a Notify ID is supplied; if supplied, a valid Notify Date is also required, and that date cannot be earlier than the current date.
Trigger
User clicks Save on NotifyPopup (and, for the notify portion of ImageMovePopup, whenever txtNotifyText is non-empty).
On failure, ErrorMsg is set to one of MSG_ENTER_VALID_NOTIFY_ID / MSG_ENTER_VALID_NOTIFY_DATE / MSG_NOTIFY_DATE_PRIOR_TO_TODAY and focus (ControlWithFocus) moves to the offending field; ConfirmAction is not raised. On success, ConfirmAction(True, ...) is raised.
BR-POPUP-004 TODO Diary task Mail ID must resolve to a valid employee when required or supplied¶
Field
Value
Statement
If Task.MailidRequired is set, a Mail ID must be entered; whenever a non-empty Mail ID is entered (required or not), it must resolve to a valid employee record (clsEmployeeData.GetDataByMailID(...).IsValid), or the confirmation is rejected and the field is flagged as an error.
BR-POPUP-005 A "RequiredTask" diary task offers only acknowledgement (no decline option)¶
Field
Value
Statement
When Task.TaskType = PopupTypes.RequiredTask, the "Do you wish to create a Claim Task?" prompt and the No button are hidden, and the Yes button is relabeled "OK" — the task cannot be declined through this popup.
Trigger
TODOPopupControl.Render() while Active.
Enforcement
TODOPopupControl.vb — Render().
Outcome
UI presents only an acknowledgement path for required tasks; optional tasks retain the Yes/No choice.
BR-IMG-001 Claim context lookup blocks the worker's name for confidential claims the caller cannot view¶
Field
Value
Statement
When ImageFileCode = "CLAIM", the popup only displays the claimant's/worker's name if the current caller passes CheckClaimSecurity for that claim; otherwise the name is shown as "Confidential" and the field is marked invalid.
Trigger
User enters/changes a Claim context number and the auto-postback txtContextNum_TextChanged fires EditContext().
BR-IMG-002 Conflict-claim visibility requires the ConflictClaim (ADSG_CLAIM_CONFLICT) AD resource¶
Field
Value
Statement
If a claim's security profile flags it as a conflict claim (IsConflict), the caller (or, for a target Mail ID, that Mail ID) must hold the ConflictClaim AD resource, or access is denied.
Trigger
CheckClaimSecurity evaluation during claim-context lookup or Mail-ID-based image access check.
Enforcement
ImageMovePopup.vb — CheckClaimSecurity(): mySecurity.IsAuthorized(ADSG_CLAIM_CONFLICT) (current user, only when mySecurity.Domain = "SAIF") or mySecuritySystem.ResourceAccessValidCached(inMailId, ADSG_CLAIM_CONFLICT) (target Mail ID).
BR-IMG-003 Exposure-claim, collateral-health, and hostile-worker claim visibility each require a distinct AD resource¶
Field
Value
Statement
A claim flagged IsExposure, IsHealthIssue, or IsHostileWorker requires the caller/target Mail ID to hold, respectively, the ExposureClaim (ADSG_CLAIM_EXPOSURE), CollateralHealthClaim (ADSG_CLAIM_COLLATERAL), or SecureClaim (ADSG_CLAIM_SECURE) AD resource, or access is denied.
Trigger
Same as BR-IMG-002 — evaluated during CheckClaimSecurity.
Enforcement
ImageMovePopup.vb — CheckClaimSecurity().
Outcome
outAllowAccess = False, outError = MSG_NOT_AUTH_CLAIM if any one check fails (checks are independent and cumulative — the first failing flag sets outAllowAccess = False but subsequent checks continue to run and may re-set the same outcome).
BR-IMG-004 Claim security checks are enforced only for the SAIF domain; non-SAIF callers are denied outright¶
Field
Value
Statement
CheckClaimSecurity only evaluates the individual claim-security flags when mySecurity.Domain = "SAIF"; for any other domain, access is unconditionally denied with "Error: Only SAIF employee can view this page.".
BR-IMG-005 Certain system mailboxes are always allowed to receive image alerts¶
Field
Value
Statement
Alerting one of a fixed set of system/service mailboxes (clsMessages.ARSK_MAILID, LEGAL_MAILID, THIRD_PARTY_MAILID, CBP_MAILID, SERVICE_MAILID, PLUS_MAILID) is always permitted regardless of AD group membership.
Trigger
CheckImageSecurity(inImageFileCode, inMailId) is called (public method — caller outside this library not identified)**.
Enforcement
ImageMovePopup.vb — CheckImageSecurity() — Select Case inMailId.ToUpper allow-list branches.
BR-IMG-006 Image access for the current user vs. a delegated Mail ID uses different authorization sources¶
Field
Value
Statement
If the target Mail ID equals the currently logged-in user, image access is determined from the cached HasImage flag (ADSG_IMAGE resource, checked once per popup lifecycle via SetSecurityUserImage()); if the target Mail ID is a different user, access is instead checked live via ImageServices.HasADAccessToImageResource(inImageFileCode, inMailId).
Trigger
CheckImageSecurity(inImageFileCode, inMailId) for a non-system Mail ID.
Enforcement
ImageMovePopup.vb — CheckImageSecurity() — Case Else branch.
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.