Skip to content

clsMenuItem

Represents the placement of one clsMenuPage into one clsMenuCategoryCode, with display order, visibility, and a tooltip (MENU_ITEM). Owns the child clsMenuSecurityCollection that grants security-group access to this specific placement, and is the row-level unit resolved by the authorization projection (clsMenuAuthorizedItemCollection).

Purpose

  • Owns the identity, ordering, visibility, and tooltip of one page-in-category placement, persisted to MENU_ITEM.
  • Owns and cascades Save to its child SecurityGroups collection, and is invalid/dirty whenever its groups are (BR-MENU-021).
  • Lazily loads its owning page and category on first access (BR-MENU-024).
  • Governs whether the item is offered by navigation resolution via IsVisible (BR-MENU-010).

Context

  • Namespace: SAIF.Business.Menu
  • Assembly/package: SAIF.Business.Menu (SAIF.BOF.Presentation.Web.Infragistics111 NuGet package)

Public members

Member Signature Purpose
MenuItemSeqNum Property MenuItemSeqNum As Decimal Server-assigned surrogate key from the MENU_ITEM_SEQ sequence (BR-MENU-014).
MenuPageSeqNum Property MenuPageSeqNum As Decimal Foreign key to the owning clsMenuPage.
MenuPage ReadOnly Property MenuPage As clsMenuPage Lazily loads the owning page on first access (BR-MENU-024).
MenuCategoryCode Property MenuCategoryCode As String Foreign key to the owning clsMenuCategoryCode.
MenuCategory ReadOnly Property MenuCategory As clsMenuCategoryCode Lazily loads the owning category on first access (BR-MENU-024).
IsVisible Property IsVisible As Boolean Visibility flag persisted as Y/N; hidden items are excluded from navigation resolution (BR-MENU-010, BR-MENU-019).
PageOrder Property PageOrder As Decimal Display order of this item within its category.
ToolTip Property ToolTip As String Tooltip text shown for this placement.
SecurityGroups ReadOnly Property SecurityGroups As clsMenuSecurityCollection Lazily loads this item's security grants; saved together with the parent item (BR-MENU-021, BR-MENU-024).
NewMenuItem Shared Function NewMenuItem(dpi As IDataPortalInfo) As clsMenuItem Factory that creates a new item ready for Save; the key is server-assigned on insert (BR-MENU-014).
GetMenuItem Shared Function GetMenuItem(dpi As IDataPortalInfo, menuItemSeqNum As Decimal) As clsMenuItem Factory that retrieves one item by its key (SQL-022).
Save Sub Save() Persists the object and cascades to SecurityGroups (BR-MENU-016, BR-MENU-018, BR-MENU-021).
Delete Sub Delete() Removes the row and returns the object to a new, unsaved state; does not cascade-delete child grants (BR-MENU-022).

Inherited public members

Members in this section are inherited from clsBusinessBase in SAIF.Framework.Core (delivered by the SAIF.BOF.Framework package). They are available on this type through inheritance.

Member Signature Purpose Origin
Rules ReadOnly Property Rules As clsRulesManager Exposes the object's rule manager, used to register and evaluate validation rules.† SAIF.Framework.Core — clsBusinessBase
BeginEdit Sub BeginEdit() Begins an editable transaction on the object, snapshotting current state for a later cancel.† SAIF.Framework.Core — clsBusinessBase
CancelEdit Sub CancelEdit() Reverts the object to the state captured by the most recent BeginEdit.† SAIF.Framework.Core — clsBusinessBase
ApplyEdit Sub ApplyEdit() Commits the in-progress edit, discarding the BeginEdit snapshot.† SAIF.Framework.Core — clsBusinessBase
SetPreviousLink Sub SetPreviousLink(item As ILinkItem) Sets the previous node in a doubly linked list of business objects.† SAIF.Framework.Core — clsBusinessBase
SetNextLink Sub SetNextLink(item As ILinkItem) Sets the next node in a doubly linked list of business objects.† SAIF.Framework.Core — clsBusinessBase
InsertLinkAfter Sub InsertLinkAfter(item As ILinkItem) Inserts the given item immediately after this object in a linked sequence.† SAIF.Framework.Core — 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 † were retrieved from dependency library documentation via the Legends CLI RAG service. They describe inherited behavior from the indicated origin library and should be verified if the dependency version changes.

Sources

  • SAIF.Business.Menu/clsMenuItem.vb