Skip to content

clsMenuPage

clsMenuPage is a BOF business object representing a single menu page record from the MENU_PAGE table. A menu page is a named grouping of menu items associated with an application code and configured with toolbar-button visibility flags and tooltips.

Purpose

  • Persist and retrieve a single menu page record with all associated toolbar-button configuration.
  • Support sequence-based key generation, insert (StringBuilder-assembled SQL), update, and delete with contention checking per BR-MNU-02.

Context

  • Namespace: SAIF.Business.Menu
  • Assembly/package: SAIF.BOF.Business.Menu

Public members

Member Signature Purpose
MenuPageSeqNum Property MenuPageSeqNum As Decimal Primary key; generated via MENU_PAGE_SEQ (SQL-003).*
PageName Property PageName As String Display name of the page (max 100 chars).*
FavoriteName Property FavoriteName As String Favorite label for the page (max 100 chars).*
PageLink Property PageLink As String URL/link for the page (max 1000 chars).*
ApplicationCode Property ApplicationCode As String Application code scoping this page (max 5 chars).*
IsDisplaySavePreferences Property IsDisplaySavePreferences As Boolean Controls SAVE_PREFERENCES_FLAG toolbar button.*
IsDisplayPrint Property IsDisplayPrint As Boolean Controls PRINT_FLAG toolbar button.*
IsDisplayDownload Property IsDisplayDownload As Boolean Controls DOWNLOAD_FLAG toolbar button.*
IsDisplayHelp Property IsDisplayHelp As Boolean Controls HELP_FLAG toolbar button.*
IsDisplaySave Property IsDisplaySave As Boolean Controls SAVE_FLAG toolbar button.*
IsDisplayInsert Property IsDisplayInsert As Boolean Controls INSERT_FLAG toolbar button.*
IsDisplayDelete Property IsDisplayDelete As Boolean Controls DELETE_FLAG toolbar button.*
PrintToolTip Property PrintToolTip As String Tooltip for Print button (max 1000 chars).*
DownloadToolTip Property DownloadToolTip As String Tooltip for Download button (max 1000 chars).*
SaveToolTip Property SaveToolTip As String Tooltip for Save button (max 1000 chars).*
InsertToolTip Property InsertToolTip As String Tooltip for Insert button (max 1000 chars).*
DeleteToolTip Property DeleteToolTip As String Tooltip for Delete button (max 1000 chars).*

Inherited public members

The members below are inherited from the BOF framework base class clsBusinessBase used by clsMenuPage.

Member Signature Purpose
MyGuid Public ReadOnly Property MyGuid() As String Returns the object's generated GUID identifier.
IsNew Public ReadOnly Property IsNew() As Boolean Indicates whether the object represents unsaved or newly created data.
IsDeleted Public ReadOnly Property IsDeleted() As Boolean Indicates whether the object is marked for deferred deletion.
IsDirty Public Overridable ReadOnly Property IsDirty() As Boolean Indicates whether the object has changed since it was loaded or saved.
SetValueOnChange Public Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean Compares and assigns a field value, optionally marking the object dirty when the value changes.
IsSavable Public Overridable ReadOnly Property IsSavable() As Boolean Returns True only when the object is both dirty and valid.
PreviousLinkItem Public ReadOnly Property PreviousLinkItem() As ILinkItem Returns the previous item in the linked-list chain maintained by the framework.
NextLinkItem Public ReadOnly Property NextLinkItem() As ILinkItem Returns the next item in the linked-list chain maintained by the framework.
SetPreviousLink Public Sub SetPreviousLink(ByRef inLinkItem As ILinkItem) Sets the previous linked-list reference.
SetNextLink Public Sub SetNextLink(ByRef inLinkItem As ILinkItem) Sets the next linked-list reference.
InsertLinkAfter Public Sub InsertLinkAfter(ByRef inLinkItem As ILinkItem) Inserts another linked item immediately after the current item.
InsertLinkBefore Public Sub InsertLinkBefore(ByRef inLinkItem As ILinkItem) Inserts another linked item immediately before the current item.
RemoveLinks Public Sub RemoveLinks() Detaches the object from its linked-list neighbors.
BeginEdit Public Sub BeginEdit() Starts a nested edit session by snapshotting the object state.
CancelEdit Public Sub CancelEdit() Cancels the current edit session and restores the previous snapshot.
ApplyEdit Public Sub ApplyEdit() Commits the current edit session and accepts the edited state.
Delete Public Sub Delete() Marks a parent object for deletion during the next save operation.
Clone Public Function Clone() As Object Creates a cloned copy of the business object.
ValidateOnDelete Public Property ValidateOnDelete() As Boolean Controls whether business-rule validation also runs during delete saves.
Rules Public ReadOnly Property Rules() As clsRulesManager Exposes the framework rules manager for validation and message tracking.
IsValid Public Overridable ReadOnly Property IsValid() As Boolean Runs rule checking and reports whether the object is currently valid.
ErrorCount Public ReadOnly Property ErrorCount() As Integer Returns the number of current validation errors.
ErrorMessages Public ReadOnly Property ErrorMessages() As String() Returns the current validation error messages.
WarningCount Public ReadOnly Property WarningCount() As Integer Returns the number of current warning messages.
WarningMessages Public ReadOnly Property WarningMessages() As String() Returns the current warning messages.
InformationalCount Public ReadOnly Property InformationalCount() As Integer Returns the number of informational validation messages.
InformationalMessages Public ReadOnly Property InformationalMessages() As String() Returns the current informational messages.
Save Public Overridable Function Save() As Boolean Persists the object when it is valid and dirty.
SaveChild Public Overridable Function SaveChild() As Boolean Persists the object when it is operating as a child object.
IsReadOnly Public Overridable ReadOnly Property IsReadOnly() As Boolean Indicates whether the framework currently treats the object as read-only.
XMLElementName Public Property XMLElementName() As String Gets or sets the element name used when emitting XML.
GetDataset Public Sub GetDataset(ByRef inDS As DataSet) Adds the object data to the supplied DataSet using the default table name.
GetDataset Public Sub GetDataset(ByRef inDS As DataSet, ByVal inTableName As String) Adds the object data to the supplied DataSet using the specified table name.
GetReportXML Public Function GetReportXML(ByVal inElementName As String) As String Generates report-oriented XML using the supplied root element name.
GetReportXML Public Function GetReportXML() As String Generates report-oriented XML using the default element name.
ToXml Public Function ToXml() As String Serializes the object to XML using the configured or default tag name.
ToXml Public Function ToXml(ByVal inTagName As String) As String Serializes the object to XML using the supplied tag name.

Behavioral notes

  • On BeforeCreate, executes SQL-003 to obtain MenuPageSeqNum from MENU_PAGE_SEQ.
  • On BeforeInsert, binds 18 parameters and executes the StringBuilder-assembled SQL-009; UPDATE_DATE is set to SYSDATE.
  • On BeforeRetrieve, binds MenuPageSeqNum and executes SQL-024.
  • On BeforeUpdate, binds 18 parameters; executes the StringBuilder-assembled SQL-035.
  • On BeforeDelete, binds MenuPageSeqNum; executes SQL-042.
  • All DML enforce BR-MNU-02.

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

Sources

  • Legacy\BusinessObjectFramework\clsBusinessBase.vb
  • Business\SAIF.Business.Menu\clsMenuPage.vb