Skip to content

MenuService

Implements IMenuService, querying the Oracle-backed BusinessOnlineMenuItem NHibernate repository for a user's visible menu items and favorites, always unioning in the shared UNSECURED menu.

Purpose

  • Implements IMenuService, querying the Oracle-backed BusinessOnlineMenuItem NHibernate repository for a user's visible menu items and favorites, always unioning in the shared UNSECURED menu.
  • Registered InstancePerRequest over a named "menu" NHibernate unit of work; see OP-12.

Context

  • Namespace: SAIF.Web.Mvc
  • Assembly/package: SAIF.Framework.Web.Mvc (source-shipping NuGet package)
  • Kind: class (service)

Public members

Member Signature Purpose
MenuService(IRepository) public MenuService(IRepository<DataModel.Menu.BusinessOnlineMenuItem> menuRepository) Constructor-injected NHibernate repository used to query menu rows.
GetBusinessOnlineMenu(string mailId) public BusinessOnlineMenu GetBusinessOnlineMenu(string mailId) Strips any domain prefix from mailId, queries visible rows for the user plus UNSECURED, and partitions them into Favorites and Items; see the "Retrieve the Business Online menu for a user" operation.

Behavioral notes

  • Rows are filtered case-insensitively on MailId and IsVisible == "Y", ordered by SortOrder (see BR-28, BR-29).

Sources

  • src/Web.Mvc/Classes/MenuService.cs