SAIF.Business.Menu dependencies¶
Internal dependencies¶
| Dependency | Reference Type | Usage |
|---|---|---|
| SAIF.Business | Project Reference | SAIF.Business.clsConstants (aliased BOC) supplies CreateSQL/RetrieveSQL/InsertSQL/UpdateSQL/DeleteSQL request IDs and Messages.DBContentionError / Messages.InvalidSQLProperty. Declared twice in the project file (duplicate <ProjectReference> with the same GUID)* |
| SAIF.ResourceFiles | Project Reference | Declared reference; no direct type usage found in this library's live source** |
| SAIF.Framework | NuGet Package | Assembly reference (from SAIF.BOF.Framework package, 1.0.21217.2) supplying clsBusinessBase, clsBusinessCollection(Of T), IBusinessCriteria, IDataPortalInfo, IPortalRequest, IDataRequest, DataRequestType, clsSAIFDataReader, clsSmartString |
| SAIF.Framework.Preferences | NuGet Package | Supplied alongside SAIF.Framework by the SAIF.BOF.Framework package; not directly used by this library's own code |
| SAIF.Framework.Common | NuGet Package | Assembly reference (1.0.18145.1); no direct type usage in live source** |
| SAIF.HashUtil | NuGet Package | Assembly reference (1.0.18067.1); no direct type usage in live source** |
| SAIF.Web.API.Clients | NuGet Package | Assembly reference (1.0.21215.2); no direct type usage in live source** |
SAIF.Business and SAIF.ResourceFiles do not have a documentation set in this run and are therefore listed as plain text rather than linked.
External dependencies¶
| Dependency | Version | Usage |
|---|---|---|
| Newtonsoft.Json | 8.0.3 | Binding redirect in app.config; no direct usage in live source** |
| RestSharp | 105.2.3 | Assembly reference; no direct usage in live source** |
Transitive dependencies¶
Dependencies in this section are inherited from dependency framework libraries. They are not directly referenced by this library but are required at runtime through framework packages.
| Dependency | Source framework | Type | Usage |
|---|---|---|---|
IDataAccess.CreateObject / RetrieveObject criteria-based data-portal operations |
SAIF.Framework.Core |
Transitive | IBusinessCriteria/IBusinessApiCriteria instances with populated DataPortalInfo drive the framework's create/retrieve pipeline that every business object and collection in this library relies on† |
Dependency risks and notes¶
- Every business object and collection in this library inherits from a
SAIF.Frameworkbase type; a breaking change toclsBusinessBase,clsBusinessCollection(Of T), orIBusinessCriteriain theSAIF.BOF.Frameworkpackage would affect all 16 classes in this library simultaneously. SAIF.BusinessandSAIF.ResourceFilesare not among the nine libraries packaged by the root nuspec, so this library's compile-time project graph extends beyond the package's own declared source set.*- The nuspec declares dependencies only on
SAIF.BOF.Framework,SAIF.Framework.Common, andSAIF.HashUtil; it omitsSAIF.Web.API.Clients,Newtonsoft.Json,RestSharp, and the project referencesSAIF.Business/SAIF.ResourceFiles(the latter two are not packaged at all). Consumers relying on the packaged source would need to supply these themselves.* SAIF.ResourceFiles,SAIF.HashUtil,SAIF.Web.API.Clients,Newtonsoft.Json, andRestSharpare referenced but unused in this library's live source; they may be vestigial or required only transitively at runtime.**- Database connectivity is entirely externalized: the caller supplies an
IDataPortalInfothat already carries connection/portal configuration and the acting user ID. In the packaged set,SAIF.Presentation.Web.MVC'sNavigationContextbuilds that DPI fromclsMSOracleDataLayerwith DB userMENU. - This library defines and evaluates the menu authorization model consumed by SAIF.Presentation.Web.MVC; a defect or schema change here (e.g. the mismatched read/write columns noted for
clsMenuSecurityUser) directly affects page-level authorization decisions upstream.*
Inherited framework context (from Legends CLI)¶
The following content is retrieved from SAIF.Framework.Core's own documentation via the Legends CLI RAG service, resolving the IBusinessCriteria framework interface detected in this run's library density scan (frameworkDensity=1). Every business object and collection in this library implements a nested Criteria class against this contract.
API¶
The confirmed public surface of IBusinessCriteria documented against SAIF.Framework.Core includes the following properties†:
CreateSQL†RetrieveSQL†InsertSQL†UpdateSQL†DeleteSQL†DataPortalInfo(observed on nestedCriteriaimplementations)†
Business rules¶
No IBusinessCriteria-specific business rules are documented in SAIF.Framework.Core; business objects route requests through framework mechanisms such as IDataPortalInfo.ApiClients / DataApiAccessLayer, and rule enforcement is owned by the consuming business object rather than by the criteria contract itself.†
Operations and processes¶
- Create business object from criteria — uses an
IBusinessCriteriaorIBusinessApiCriteriainstance with populatedDataPortalInfo, exposed asIDataAccess.CreateObject(criteria).† - Retrieve business object from criteria — uses an
IBusinessCriteriaorIBusinessApiCriteriainstance with populatedDataPortalInfo, exposed asIDataAccess.RetrieveObject(criteria).†
Dependencies¶
IBusinessCriteriadefines the CRUD and retrieval contract implemented by package-backed criteria classes, and is used by business-layer and data-portal code across the framework.†SAIF.Framework.Coredocumentation notes that changes toIBusinessCriteriaare risky because they can affect both SQL and API access paths.†- API and SQL business objects share the same
IBusinessCriteria/IBusinessApiCriteriahierarchy withinSAIF.BOF.Framework.†
Related documentation¶
- Index
- Overview
- Architecture
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Security and authorization
- API reference
Note: Statements marked with
†are derived from dependency library documentation via the Legends CLI. Statements marked with*were inferred from code structure or contextual evidence. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
- SAIF.Business.Menu/SAIF.Business.Menu.vbproj
- SAIF.Business.Menu/packages.config
- SAIF.Business.Menu/app.config
- SAIF.BOF.Presentation.Web.Infragistics111.nuspec