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
Saveto its childSecurityGroupscollection, 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.Infragistics111NuGet 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 |
Related documentation¶
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