Skip to content

SAIF.Presentation.Web.Controls.V2 business rules

This library contains only UI/presentation-convention rules (client-side rendering conventions enforced in code), not domain business rules — no claim/policy/premium calculations, validations, or persistence decisions were found in this library.

BR-V2-001: Internal clients suppress default banner/logout/feedback visibility

Field Value
Statement When AppGlobal.EnvironmentService.IsClientExternal is false (internal/insider client), BannerControl/BannerControlV2 default m_FeedBackVisibleDefault, m_BannerVisibleDefault, and m_LogoutVisibleDefault to False; external clients default them to True.
Trigger Control OnInit.
Enforcement SetBannerControlDefaults() in Banner.vb/BannerControlV2.vb.
Outcome Internal-facing pages render without the logout/feedback banner chrome by default (overridable via the DisplayBannerLogout/DisplayBannerFeedback properties).
Source SAIF.Presentation.Web.Controls.V2\Banner.vb, SAIF.Presentation.Web.Controls.V2\BannerControlV2.vb

BR-V2-002: Login-app suppresses logout/feedback popout behavior

Field Value
Statement If the current page's virtual directory name equals "ONLINELOGIN", LoggingIn is set true, which suppresses the logout link and changes the feedback link from a popup window to a plain link to the SAIF feedback page.
Trigger SetBannerControlDefaults() executed on OnInit.
Enforcement Banner.vb/BannerControlV2.vb Render.
Outcome Prevents a logout/interactive-popup banner appearing on the login screen itself.
Source SAIF.Presentation.Web.Controls.V2\Banner.vb, SAIF.Presentation.Web.Controls.V2\BannerControlV2.vb

BR-V2-003: Read-only input controls render as static images, not native controls

Field Value
Statement When [ReadOnly] = True, SAIFCheckBox, SAIFCheckBoxList, SAIFRadioButton, and SAIFRadioButtonList render a hidden native control (to preserve ViewState) plus a static <img>/label combination instead of the interactive native control.
Trigger [ReadOnly] property set by the host page.
Enforcement Each control's overridden Render.
Outcome Consistent "locked field" visual convention across checkbox/radio-based controls library-wide.
Source SAIF.Presentation.Web.Controls.V2\SAIFCheckBox.vb, SAIF.Presentation.Web.Controls.V2\SAIFCheckBoxList.vb, SAIF.Presentation.Web.Controls.V2\SAIFRadioButton.vb, SAIF.Presentation.Web.Controls.V2\SAIFRadioButtonList.vb

BR-V2-004: Wildcard selection in MultiListControl is mutually exclusive with other items

Field Value
Statement If the configured WildCardItem is selected (via checkbox or by typing matching text), all other list items become disabled/deselected; selecting/typing any other value re-enables all items.
Trigger CheckBoxList.SelectedIndexChanged or TextBox.TextChanged.
Enforcement m_CheckList_SelectedIndexChanged / m_TextBox_TextChanged in MultiListControl.vb.
Outcome Prevents combining an "All"/wildcard selection with specific selections in the rendered semicolon-delimited text.
Source SAIF.Presentation.Web.Controls.V2\MultiListControl.vb

BR-V2-005: Message icon is derived from message-text keywords unless explicitly overridden

Field Value
Statement SAIFMessage auto-selects ErrorImage/WarningImage/CompleteImage based on "Error:"/"Warning:"/"Complete:"/"changes saved." substrings in Text, unless DisplayImage has been explicitly set by the caller.
Trigger Control render (RenderControl → SetImage).
Enforcement SAIFMessage.vb.
Outcome Consistent status-icon semantics driven by message copy; "Complete:" keyword text is stripped from the displayed message.
Source SAIF.Presentation.Web.Controls.V2\SAIFMessage.vb

BR-V2-006: SAIFTabBar tab selection is mutually exclusive in TabBar mode

Field Value
Statement In Mode = TabBarMode.TabBar, clicking a tab deselects all other tabs before selecting the clicked tab; this exclusivity is not enforced in WizardTabBar mode.
Trigger Tab LinkButton click.
Enforcement RaiseTabClickedEvent in SAIFTabBar.vb.
Outcome Only one tab can be IsSelected = True at a time in standard tab-bar mode.
Source SAIF.Presentation.Web.Controls.V2\SAIFTabBar.vb

BR-V2-007: One-click submit buttons block duplicate submission

Field Value
Statement OneClickSubmit buttons execute a client-side flag check (OneClickOnly()) that returns false (canceling the postback) if the button was already clicked once on the current page instance.
Trigger Button OnClientClick.
Enforcement BuildClientOneClickJavascript() in OneClickSubmitControl.vb, injected as OnClientClick = "return OneClickOnly()".
Outcome Prevents duplicate form submissions from a single rendered page instance.
Source SAIF.Presentation.Web.Controls.V2\OneClickSubmitControl.vb

Notes

  • No domain business-rule enforcement (claims/policy/premium calculations, validations, or persistence decisions) was found in this library; all rules above are UI/presentation conventions*.
  • No database interactions, security/authorization enforcement, or configuration-driven behavior were found in this library.

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

  • SAIF.Presentation.Web.Controls.V2\Banner.vb
  • SAIF.Presentation.Web.Controls.V2\BannerControlV2.vb
  • SAIF.Presentation.Web.Controls.V2\SAIFCheckBox.vb
  • SAIF.Presentation.Web.Controls.V2\SAIFCheckBoxList.vb
  • SAIF.Presentation.Web.Controls.V2\SAIFRadioButton.vb
  • SAIF.Presentation.Web.Controls.V2\SAIFRadioButtonList.vb
  • SAIF.Presentation.Web.Controls.V2\MultiListControl.vb
  • SAIF.Presentation.Web.Controls.V2\SAIFMessage.vb
  • SAIF.Presentation.Web.Controls.V2\SAIFTabBar.vb
  • SAIF.Presentation.Web.Controls.V2\OneClickSubmitControl.vb