Skip to content

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

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