---
title: clsAppModelBase
summary: API reference for clsAppModelBase.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Core.Infragistics111
reference_type: package
---

# clsAppModelBase

`clsAppModelBase` is the application-level model base that every SAIF MVC-triad model in a consuming application inherits from. It extends `clsModelBase` (from `SAIF.Presentation.Web.MVC`) with application conventions shared across models: a standard set of confirmation/error message constants, mail-request state properties consumed by `Utilities.clsMailMessage`, a `GridCustomizers` collection for Infragistics AJAX grid customization, and default no-op `ValidateData`/`WriteData` overrides that concrete models replace with real logic.

## Purpose
- Provide a shared set of user-facing message constants (delete confirmation, save success/failure, row-selection prompt) so consuming applications present consistent wording.
- Expose mail-request properties (`SendTo`, `SendMail`, `SendMsg`, `SendBody`) that models populate before delegating to the mail-sending operation.
- Hold a `GridCustomizers` collection (`InfragisticsGridCustomizerList`) so consuming models can register grid-level customization behavior for AJAX grids.
- Supply default no-op `ValidateData`/`WriteData` overrides so a concrete model need only override the methods it actually requires.

## Context
- Namespace: `SAIF.Presentation.Web.Core`
- Assembly/package: `SAIF.Presentation.Web.Core.Infragistics111` (merged into `SAIF.Presentation.Web.Infragistics111.dll` via `SAIF.BOF.Presentation.Web.Infragistics111.nuspec`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `MSG_DELETE_CONFIRM` | `Public Const MSG_DELETE_CONFIRM As String` | Standard confirmation prompt text shown before a destructive delete action. |
| `MSG_SAVE` | `Public Const MSG_SAVE As String` | Standard success message shown after a save completes. |
| `MSG_NO_SAVE` | `Public Const MSG_NO_SAVE As String` | Standard message shown when a save was attempted but no changes were present to persist. |
| `MSG_SAVE_FAILED` | `Public Const MSG_SAVE_FAILED As String` | Standard error message shown when a save operation fails. |
| `MSG_SELECT_ROW` | `Public Const MSG_SELECT_ROW As String` | Standard prompt shown when an action requires a grid row to be selected first. |
| `SendTo` | `Public Property SendTo As String` | Recipient address populated by a model before delegating to the mail-send operation. |
| `SendMail` | `Public Property SendMail As Boolean` | Flag a model sets to indicate that a mail notification should be dispatched as part of the current operation. |
| `SendMsg` | `Public Property SendMsg As String` | Subject text of the mail notification the model requests be sent. |
| `SendBody` | `Public Property SendBody As String` | Body text of the mail notification the model requests be sent. |
| `GridCustomizers` | `Public Property GridCustomizers As InfragisticsGridCustomizerList` | Collection of grid customizer entries a concrete model populates to influence Infragistics AJAX grid rendering/behavior. |
| `ValidateData()` | `Public Overridable Function ValidateData() As Boolean` | Default no-op validation override (returns success); concrete models override it with real validation logic. |
| `WriteData()` | `Public Overridable Sub WriteData()` | Default no-op persistence override; concrete models override it with real save logic. |

## Behavioral notes
- The default `ValidateData`/`WriteData` overrides perform no work; a concrete model that does not override them will silently succeed validation and silently no-op on write.*
- The mail-request properties (`SendTo`/`SendMail`/`SendMsg`/`SendBody`) are plain state — they do not themselves trigger mail dispatch; a controller or page must read them and call the mail-sending operation explicitly.*

## Constraints and usage notes
- Concrete models must override `ValidateData` and `WriteData` to have any real save/validation behavior; relying on the base defaults will always report success without persisting data.

> **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.Core.Infragistics111/clsAppModelBase.vb`
