Skip to content

SAIF.Framework.Bindable overview

Documentation context: Packaged Component (NuGet)

SAIF.Framework.Bindable is a base-class framework library that provides three independent, unrelated abstract base classes — clsBindableBase, clsBindableCollectionBase, and clsRulesManagerBase — intended to be inherited by business object classes elsewhere in the SAIF BOF stack to enable WinForms/WebForms data binding and rule-violation notification.

Purpose

  • Provide reusable, in-memory object-model plumbing (event wiring and IBindingList implementation) for business object classes that need to support data binding and rule-violation notification.
  • Consumed by subclasses elsewhere in the SAIF BOF stack; this library defines no business operations, workflows, or concrete rule logic of its own.

Responsibilities

  • Expose a serialization-safe IsModifiedChanged change-notification event for single-object data binding (clsBindableBase).
  • Implement the IBindingList contract over CollectionBase so subclass collections can be bound to WinForms/WebForms data-bound controls (clsBindableCollectionBase).
  • Expose RuleBroken/RuleNotBroken events implementing a business-rule-violation notification pattern (clsRulesManagerBase).

Key components

  • clsBindableBase: Base class exposing IsModifiedChanged and a protected m_CriteriaObject field for data-binding change notification.
  • clsBindableCollectionBase: Base class implementing IBindingList over CollectionBase for data-bound collection support.
  • clsRulesManagerBase: Base class exposing RuleBroken/RuleNotBroken events for business-rule-violation notification.
  • RuleEvent: Delegate signature (void RuleEvent(object rule)) used by clsRulesManagerBase's events.

Sources

  • SAIF.Framework.Bindable\clsBindableBase.cs
  • SAIF.Framework.Bindable\clsBindableCollectionBase.cs
  • SAIF.Framework.Bindable\clsrulesmanagerbase.cs
  • SAIF.Framework.Bindable\SAIF.BOF.Framework.Bindable.csproj
  • SAIF.Framework.Bindable\SAIF.Framework.Bindable.sln