Skip to content

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.Framework base type; a breaking change to clsBusinessBase, clsBusinessCollection(Of T), or IBusinessCriteria in the SAIF.BOF.Framework package would affect all 16 classes in this library simultaneously.
  • SAIF.Business and SAIF.ResourceFiles are 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, and SAIF.HashUtil; it omits SAIF.Web.API.Clients, Newtonsoft.Json, RestSharp, and the project references SAIF.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, and RestSharp are 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 IDataPortalInfo that already carries connection/portal configuration and the acting user ID. In the packaged set, SAIF.Presentation.Web.MVC's NavigationContext builds that DPI from clsMSOracleDataLayer with DB user MENU.
  • 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 nested Criteria implementations)†

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 IBusinessCriteria or IBusinessApiCriteria instance with populated DataPortalInfo, exposed as IDataAccess.CreateObject(criteria).†
  • Retrieve business object from criteria — uses an IBusinessCriteria or IBusinessApiCriteria instance with populated DataPortalInfo, exposed as IDataAccess.RetrieveObject(criteria).†

Dependencies

  • IBusinessCriteria defines 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.Core documentation notes that changes to IBusinessCriteria are risky because they can affect both SQL and API access paths.†
  • API and SQL business objects share the same IBusinessCriteria / IBusinessApiCriteria hierarchy within SAIF.BOF.Framework.†

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