---
title: "clsMenuPage"
summary: "API reference for clsMenuPage."
status: draft
owner: SAIF documentation team
last_reviewed: 2026-08-17
library: SAIF.Business.Menu
reference_type: package
---

# clsMenuPage

Owns one page definition and its display flags.

## Purpose
- Persist page labels, links, flags, and tooltips.
- Supply page metadata projected into authorized-menu rows.

## Context
- Namespace: `SAIF.Business.Menu`
- Assembly/package: `SAIF.Business.Menu.dll`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| MenuPageSeqNum | `Public Property MenuPageSeqNum() As Decimal` | Surrogate primary key of the `MENU_PAGE` row, generated from `MENU_PAGE_SEQ` and referenced by `clsMenuItem.MenuPageSeqNum`. |
| PageName | `Public Property PageName() As String` | Text label shown to the user for this page in rendered navigation. |
| FavoritePageName | `Public ReadOnly Property FavoritePageName() As String` | Alternate display name used when this page is shown as a user favorite, in place of `PageName`. |
| FavoriteName | `Public Property FavoriteName() As String` | Text stored to override `PageName` when the page is rendered as a favorite. |
| PageLink | `Public Property PageLink() As String` | URL or relative link the page navigates to, surfaced to menu items and rendered navigation through `clsMenuItem.MenuPage`. |
| ApplicationCode | `Public Property ApplicationCode() As String` | Foreign key identifying the application-code entry (`BUSONLINE_APPS_CODE`) this page belongs to. |
| Application | `Public ReadOnly Property Application() As clsApplicationCode` | Lazily retrieves the `clsApplicationCode` row identified by `ApplicationCode`, resolving the application-path mapping the page navigates to. |
| IsDisplaySavePreferences | `Public Property IsDisplaySavePreferences() As Boolean` | Controls whether the rendered page offers a "save preferences" action to the user. |
| IsDisplayPrint | `Public Property IsDisplayPrint() As Boolean` | Controls whether the rendered page exposes a print action to the user. |
| IsDisplayDownload | `Public Property IsDisplayDownload() As Boolean` | Controls whether the rendered page exposes a download action to the user. |
| IsDisplayHelp | `Public Property IsDisplayHelp() As Boolean` | Controls whether the rendered page exposes a help action to the user. |
| IsDisplaySave | `Public Property IsDisplaySave() As Boolean` | Controls whether the rendered page exposes a save action to the user. |
| IsDisplayInsert | `Public Property IsDisplayInsert() As Boolean` | Controls whether the rendered page exposes an insert (add new row) action to the user. |
| IsDisplayDelete | `Public Property IsDisplayDelete() As Boolean` | Controls whether the rendered page exposes a delete action to the user. |
| PrintToolTip | `Public Property PrintToolTip() As String` | Text shown to the user when hovering over the page's print action. |
| DownloadToolTip | `Public Property DownloadToolTip() As String` | Text shown to the user when hovering over the page's download action. |
| SaveToolTip | `Public Property SaveToolTip() As String` | Text shown to the user when hovering over the page's save action. |
| DeleteToolTip | `Public Property DeleteToolTip() As String` | Text shown to the user when hovering over the page's delete action. |
| InsertToolTip | `Public Property InsertToolTip() As String` | Text shown to the user when hovering over the page's insert action. |
| UpdateDate | `Public Property UpdateDate() As Date` | Records the timestamp of the row's last save, used for audit purposes. |
| UpdateUser | `Public Property UpdateUser() As String` | Identifies the user who last saved the row, recorded for audit purposes on each write. |
| IsValid | `Public Overrides ReadOnly Property IsValid() As Boolean` | Overrides `clsBusinessBase.IsValid`. `AddBusinessRules()` for this type contains only commented-out template placeholders, so no local Rules-engine field-level validation exists; the confirmed behavior is inherited from `clsBusinessBase`.* |
| IsDirty | `Public Overrides ReadOnly Property IsDirty() As Boolean` | Reports whether any of the page's own property values have changed since load, overriding the inherited `clsBusinessBase.IsDirty`. |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Compares business-object identity using this type's key semantics. |
| Equals | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Compares business-object identity using this type's key semantics. |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsMenuPage) As Boolean` | Compares business-object identity using this type's key semantics. |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Returns a hash based on the type's business identity semantics. |
| ToString | `Public Overrides Function ToString() As String` | Returns the type's string representation for diagnostics or UI binding. |
| NewMenuPage | `Public Shared Function NewMenuPage(ByVal inDataportal As IDataPortalInfo) As clsMenuPage` | Creates a new typed object using the supplied data-portal context. |
| GetMenuPage | `Public Shared Function GetMenuPage(ByVal inDataportal As IDataPortalInfo, ByVal inMenuPageSeqNum As Decimal) As clsMenuPage` | Retrieves the single `MENU_PAGE` row identified by the surrogate key `inMenuPageSeqNum`, populating page name, link, application code, and display-flag properties used to render one page's navigation entry. |

## Behavioral notes
- Write operations use [BR-MENU-001](../../business-rules.md#br-menu-001-optimistic-contention-on-write).

## Constraints and usage notes
- Boolean flags are stored as Y/N values.

## Inherited public members

No `dependency-resolution.json` was produced for this run, so the members below are a best-effort inference from typical SAIF BOF framework (`clsBusinessBase`) patterns observed elsewhere in this codebase, not a Legends CLI-sourced dependency lookup.**

### From clsBusinessBase (SAIF.BOF.Framework)**

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Save | `Public Overridable Function Save() As Boolean` | Routes the object through the inherited data-portal lifecycle to persist it when dirty and valid.** | `clsBusinessBase` |
| Delete | `Public Overridable Sub Delete()` | Marks the object for deletion and, on `Save()`, routes it through `BeforeDelete`/`AfterDelete`.** | `clsBusinessBase` |
| AddErrorMessage | `Protected Sub AddErrorMessage(ByVal inKey As String, ByVal inMessage As String)` | Records a named validation/error message consulted by the inherited `IsValid` implementation.** | `clsBusinessBase` |
| MarkOld | `Protected Sub MarkOld()` | Clears the object's dirty flag after a successful load or save.** | `clsBusinessBase` |
| MarkNew | `Protected Sub MarkNew()` | Marks a freshly constructed object as new/dirty so `Save()` treats it as an insert candidate.** | `clsBusinessBase` |

> **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.Business.Menu\clsMenuPage.vb`
