clsMenuItem¶
Owns one menu item and its child security groups.
Purpose¶
- Persist the item row in
MENU_ITEM. - Cascade validation and save behavior to
SecurityGroups.
Context¶
- Namespace:
SAIF.Business.Menu - Assembly/package:
SAIF.Business.Menu.dll
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| MenuItemSeqNum | Public Property MenuItemSeqNum() As Decimal |
Surrogate primary key of the MENU_ITEM row, generated from MENU_ITEM_SEQ and used as the target of retrieve/update/delete statements. |
| MenuPageSeqNum | Public Property MenuPageSeqNum() As Decimal |
Foreign key linking the item to its MENU_PAGE row, resolved on demand through the MenuPage property. |
| MenuPageSeqNumString | Public Property MenuPageSeqNumString() As String |
String-typed accessor for MenuPageSeqNum, used by UI data binding that requires text rather than a numeric type. |
| MenuPage | Public Property MenuPage() As clsMenuPage |
Associated page definition. |
| MenuCategoryCode | Public Property MenuCategoryCode() As String |
Foreign key into MENU_CATEGORY_CODE that groups the item for category-based menu rendering; resolved on demand through MenuCategory. |
| MenuCategory | Public ReadOnly Property MenuCategory() As clsMenuCategoryCode |
Associated category lookup row. |
| IsVisible | Public Property IsVisible() As Boolean |
Controls whether the item is included when the authorized-menu query renders visible navigation entries. |
| PageOrder | Public Property PageOrder() As Decimal |
Display order used to sort the item among its category's other menu items. |
| ToolTip | Public Property ToolTip() As String |
Hover text shown for the item's link in the rendered navigation UI. |
| UpdateUser | Public Property UpdateUser() As String |
Identifies the user who last saved the row, recorded for audit purposes on each write. |
| UpdateDate | Public Property UpdateDate() As Date |
Records the timestamp of the row's last save, used for audit purposes. |
| SecurityGroups | Public ReadOnly Property SecurityGroups() As clsMenuSecurityCollection |
Lazy-loads the child security-group assignments used by save and validation logic. |
| IsValid | Public Overrides ReadOnly Property IsValid() As Boolean |
Reports the item as valid only when its child security-group collection is also valid. |
| IsDirty | Public Overrides ReadOnly Property IsDirty() As Boolean |
Reports the item as dirty when either the parent row or its child security-group collection has changed. |
| Save | Public Overrides Function Save() As Boolean |
Persists the item and, when necessary, its child security-group collection. |
| SaveChild | Public Overrides Function SaveChild() As Boolean |
Persists the item as a child object and cascades dirty child security-group rows. |
| 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 clsMenuItem) 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. |
| NewMenuItem | Public Shared Function NewMenuItem(ByVal inDataportal As IDataPortalInfo) As clsMenuItem |
Creates a new typed object using the supplied data-portal context. |
| GetMenuItem | Public Shared Function GetMenuItem(ByVal inDataportal As IDataPortalInfo, ByVal inMenuItemSeqNum As Decimal) As clsMenuItem |
Retrieves the single MENU_ITEM row identified by the surrogate key inMenuItemSeqNum, along with its child SecurityGroups collection, populating page, category, visibility, and order data for one item. |
Behavioral notes¶
- Enforces BR-MENU-005.
Constraints and usage notes¶
- Depends on child security-group state.
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 |
|---|---|---|---|
| AddErrorMessage | Protected Sub AddErrorMessage(ByVal inKey As String, ByVal inMessage As String) |
Records a named validation/error message consulted by the local IsValid override.** |
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()/SaveChild() treat it as an insert candidate.** |
clsBusinessBase |
| Delete | Public Overridable Sub Delete() |
Marks the object for deletion and, on save, routes it through BeforeDelete/AfterDelete.** |
clsBusinessBase |
Note: Statements marked with
**could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Business.Menu\clsMenuItem.vb