Skip to content

SAIF.Presentation.Web.Binding.Infragistics111 overview

Documentation context: Packaged Component (NuGet)

SAIF.Presentation.Web.Binding.Infragistics111 is SAIF's declarative "object binder" — a two-way data binding and validation framework that connects SAIF BOF business objects to ASP.NET WebForms and Infragistics 11.1 controls, with automatic error-message aggregation and error-state control formatting.

Purpose

  • Let a WebForms page declare, in code, which control is bound to which business-object property (via clsObjectBindManager.Add overloads) instead of hand-writing per-control get/set code.
  • Move data in both directions: push business-object values into controls (ObjectToControl) and pull edited control values back onto business objects (ControlToObject), either immediately on a control's change event or in a batched call.
  • Aggregate validation errors — harvested from bound objects' IDataErrorInfo implementation and from application-supplied custom validators — into a single formatted message, and re-style controls to show which fields are in error.
  • Detect SAIF BOF business objects purely by walking the runtime base-class chain for the names clsBusinessBase / clsBusinessCollectionBase, without a compile-time reference to the BOF framework.*

Responsibilities

  • Own the binder registration/lookup collection and per-object validation-key registry for a page (clsObjectBindManager).
  • Define and share the binder contract (Init, ObjectToControl, ControlToObject) plus reflection get/set, padding, and error-formatting helpers common to every concrete binder (clsObjectBinderBase).
  • Implement one binder per supported ASP.NET or Infragistics 11.1 control, covering both the classic (WebUI) and current (Web.UI) Infragistics control generations.
  • Provide strongly-typed binding-argument data contracts so applications configure a binding without long positional Add calls.
  • Support application-defined validation logic (clsCustomValidator) that participates in the same error pipeline as property-level errors.

Key components

  • clsObjectBindManager: the page-level binding container and only public entry point; owns registration, initialization, DataBind/BindToObject, Validate/RefreshValidation, and error reporting.
  • clsObjectBinderBase: abstract base defining the binder contract and shared reflection/padding/ error-formatting behavior.
  • clsCustomValidator: validation-only binder running an application-supplied delegate.
  • 24 concrete binders (clsTextBoxBinder, clsUltraGridBinder, clsWebDataGridBinder, etc.): read and write a specific control's property and subscribe to its change event.
  • clsObjectBindingArgs hierarchy and PadArgs: strongly-typed configuration objects passed to the Add overloads.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • SAIF.Presentation.Web.Binding.Infragistics111/SAIF.Presentation.Web.Binding.Infragistics111.vbproj
  • SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBindManager.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/clsObjectBinderbase.vb
  • SAIF.Presentation.Web.Binding.Infragistics111/clsCustomValidator.vb