using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Interfaces; using System; namespace Sarand.BusinessMgr.Net.Standard.Base.App { //======================================================================= public static class SbmAppConsole { private static readonly String ClassName = "SbmAppConsole"; //------------------------------------------------------------------- // A p p l i c a t i o n V i e w s //------------------------------------------------------------------- // Jul-2021 ConfigConsole parameter added to avoid local creation. To be reviewed/replaced. public static bool IsViewApplicable(ISbmUserContext userContext, SbmConfigConsole configConsole, Sbm.View view) { //SbmConfigConsole configConsole = SbmGlobals.GetConfigConsole(userContext.SessionContext); ISbmSecurityProfile securityProfile = userContext.SecurityProfile; switch (view) { //----------------------------------------------------------- case Sbm.View.Splash: return true; case Sbm.View.Main: return true; case Sbm.View.Console: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowConsoleView)) return false; if (!configConsole.GetConsoleViewDfn().HasContent()) return false; return true; case Sbm.View.Diary: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.DiaryView)) return false; return true; //----------------------------------------------------------- // Contacts. case Sbm.View.Contacts_Affiliates: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; return true; case Sbm.View.Contacts_ContactGroups: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; return true; case Sbm.View.Contacts_Associations: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AnyAssociationView)) return false; return true; case Sbm.View.Contacts_Associations_Customer: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; return true; case Sbm.View.Contacts_Associations_Supplier: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; return true; case Sbm.View.Contacts_Associations_Associate: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Associate)) return false; return true; case Sbm.View.Contacts_Associations_Stockist: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Stockist)) return false; return true; case Sbm.View.Contacts_Associations_FinanceAgency: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.FinanceAgency)) return false; return true; case Sbm.View.Contacts_Associations_Member: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Member)) return false; return true; case Sbm.View.Contacts_Associations_Contractor: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Contractor)) return false; return true; //----------------------------------------------------------- // Commodities. case Sbm.View.Commodities: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowCommodities)) return false; return true; case Sbm.View.Commodity_Locations: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowCommodities)) return false; return true; case Sbm.View.Commodity_Containers: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowCommodities)) return false; return true; case Sbm.View.Commodity_Portfolio: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowCommodities)) return false; return true; case Sbm.View.Commodity_SalesBudget: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowCommodities)) return false; return true; case Sbm.View.PriceSets: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowCommodities)) return false; //if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowPriceSets)) return false; return true; //----------------------------------------------------------- // Assets. case Sbm.View.AssetCategories: case Sbm.View.Assets: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowAssets)) return false; return true; case Sbm.View.VehicleClasses: case Sbm.View.Vehicles: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowAssets)) return false; if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowVehicles)) return false; return true; //----------------------------------------------------------- // Transactions. case Sbm.View.Transactions: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AnyTransactionView)) return false; return true; case Sbm.View.Transactions_Project: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.Project)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.Project)) return false; return true; case Sbm.View.Transactions_PurchaseQuote: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.PurchaseQuote)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.PurchaseQuote)) return false; return true; case Sbm.View.Transactions_ProformaPurchaseOrder: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.ProformaPurchaseOrder)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.ProformaPurchaseOrder)) return false; return true; case Sbm.View.Transactions_PurchaseOrder: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.PurchaseOrder)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.PurchaseOrder)) return false; return true; case Sbm.View.Transactions_PurchaseSO: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.PurchaseSO)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.PurchaseSO)) return false; return true; case Sbm.View.Transactions_PurchaseDelivery: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.PurchaseDelivery)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.PurchaseDelivery)) return false; return true; case Sbm.View.Transactions_ProformaPurchaseInvoice: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.ProformaPurchaseInvoice)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.ProformaPurchaseInvoice)) return false; return true; case Sbm.View.Transactions_PurchaseInvoice: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Supplier)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.PurchaseInvoice)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.PurchaseInvoice)) return false; return true; case Sbm.View.Transactions_SalesLead: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesLead)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesLead)) return false; return true; case Sbm.View.Transactions_SalesQuote: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesQuote)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesQuote)) return false; return true; case Sbm.View.Transactions_ProformaSalesOrder: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.ProformaSalesOrder)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.ProformaSalesOrder)) return false; return true; case Sbm.View.Transactions_SalesOrder: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesOrder)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesOrder)) return false; return true; case Sbm.View.Transactions_SalesPO: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesPO)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesPO)) return false; return true; case Sbm.View.Transactions_SalesDispatch: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesDispatch)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesDispatch)) return false; return true; case Sbm.View.Transactions_ProformaSalesInvoice: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesInvoice)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesInvoice)) return false; return true; case Sbm.View.Transactions_SalesInvoice: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowAssociationType(userContext, Sbm.AssociationType.Customer)) return false; if (!configConsole.AllowTransactionType(userContext, Sbm.TransactionType.SalesInvoice)) return false; if (!securityProfile.UserCanAccessTransactionsOfType(Sbm.TransactionType.SalesInvoice)) return false; return true; //----------------------------------------------------------- // Planning. case Sbm.View.Transactions_PurchasingPlanning: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowPurchasingPlanning)) return false; return true; case Sbm.View.Transactions_ProductionControl: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowProductionControl)) return false; return true; case Sbm.View.Transactions_DeliveryPlanning: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowTransactions)) return false; if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowDeliveryPlanning)) return false; return true; //----------------------------------------------------------- // Other. case Sbm.View.SystemAccounts: case Sbm.View.SystemUsers: if (!configConsole.AllowOption(userContext, Sbm.ConfigOption.AllowContacts)) return false; // Interfaces must be available. using (SaInterfaceConsole interfaceConsole = SbmGlobals.Application.CreateInterfaceConsole(userContext)) { if (interfaceConsole == null || !interfaceConsole.DatabaseIsValid) return false; // System Account & User tables must be available. ISacsDatabase busMgrDb = SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext); if (!SbmGlobals.Application.DbTableExists(busMgrDb, SbmDbDfn.TableIdx.SystemAccount)) return false; if (!SbmGlobals.Application.DbTableExists(busMgrDb, SbmDbDfn.TableIdx.SystemUser)) return false; } return true; } return false; } public static Sbm.View GetViewForTransaction(Sbm.TransactionType transactionType) { if (transactionType == Sbm.TransactionType.Project) return Sbm.View.Transactions_Project; if (transactionType == Sbm.TransactionType.SalesLead) return Sbm.View.Transactions_SalesLead; if (transactionType == Sbm.TransactionType.SalesQuote) return Sbm.View.Transactions_SalesQuote; if (transactionType == Sbm.TransactionType.ProformaSalesOrder) return Sbm.View.Transactions_ProformaSalesOrder; if (transactionType == Sbm.TransactionType.SalesOrder) return Sbm.View.Transactions_SalesOrder; if (transactionType == Sbm.TransactionType.SalesPO) return Sbm.View.Transactions_SalesPO; if (transactionType == Sbm.TransactionType.SalesDispatch) return Sbm.View.Transactions_SalesDispatch; if (transactionType == Sbm.TransactionType.ProformaSalesInvoice) return Sbm.View.Transactions_ProformaSalesInvoice; if (transactionType == Sbm.TransactionType.SalesInvoice) return Sbm.View.Transactions_SalesInvoice; if (transactionType == Sbm.TransactionType.PurchaseQuote) return Sbm.View.Transactions_PurchaseQuote; if (transactionType == Sbm.TransactionType.ProformaPurchaseOrder) return Sbm.View.Transactions_ProformaPurchaseOrder; if (transactionType == Sbm.TransactionType.PurchaseOrder) return Sbm.View.Transactions_PurchaseOrder; if (transactionType == Sbm.TransactionType.PurchaseSO) return Sbm.View.Transactions_PurchaseSO; if (transactionType == Sbm.TransactionType.PurchaseDelivery) return Sbm.View.Transactions_PurchaseDelivery; if (transactionType == Sbm.TransactionType.ProformaPurchaseInvoice) return Sbm.View.Transactions_ProformaPurchaseInvoice; if (transactionType == Sbm.TransactionType.PurchaseInvoice) return Sbm.View.Transactions_ProformaPurchaseInvoice; return Sbm.View.Unknown; } //------------------------------------------------------------------- // A p p l i c a t i o n M e n u //------------------------------------------------------------------- public static bool IsMenuOptionApplicable(ISbmUserContext userContext, SbmConfigConsole configConsole, Sbm.MenuOption menuOption) { String fn = ClassName + ".IsMenuOptionApplicable"; if (!userContext.ValidUser) { // ToDo Only Login menu option available. return false; } Sbm.View view = GetViewForMenuOption(userContext.SessionContext, menuOption); if (view != Sbm.View.Unknown) // View options. return IsViewApplicable(userContext, configConsole, GetViewForMenuOption(userContext.SessionContext, menuOption)); // Non-view options. switch (menuOption) { //----------------------------------------------------------- // Admin. case Sbm.MenuOption.Config_Organisation: return true; case Sbm.MenuOption.Config_CodeTypes: return true; // (SbmGlobals.Application.GetCodeTypeConsole(userContext) != null); case Sbm.MenuOption.Config_Interfaces: return true; // (SbmGlobals.Application.GetInterfaceConsole(userContext) != null); case Sbm.MenuOption.Security_Manage: return true; // (SbmGlobals.Application.GetSecurityConsole(userContext) != null); //----------------------------------------------------------- // Actions. case Sbm.MenuOption.Timesheet: return configConsole.AllowOption(userContext, Sbm.ConfigOption.TimeRecording); //----------------------------------------------------------- } SaLogger.Warn(fn + " Unsupport menu option - " + menuOption.ToString()); return false; } //----------------------------------------------------------- public static Sbm.MenuSection GetMenuSection(Sbm.View view) { switch (view) { //----------------------------------------------------------- // Config. case Sbm.View.Console: case Sbm.View.Transactions_Project: case Sbm.View.SystemUsers: case Sbm.View.SystemAccounts: return Sbm.MenuSection.Config; //----------------------------------------------------------- // Contacts. case Sbm.View.Contacts_Affiliates: case Sbm.View.Contacts_ContactGroups: case Sbm.View.Contacts_Associations: case Sbm.View.Contacts_Associations_Customer: case Sbm.View.Contacts_Associations_Supplier: case Sbm.View.Contacts_Associations_Associate: case Sbm.View.Contacts_Associations_Stockist: case Sbm.View.Contacts_Associations_FinanceAgency: case Sbm.View.Contacts_Associations_Member: case Sbm.View.Contacts_Associations_Contractor: return Sbm.MenuSection.Contacts; //----------------------------------------------------------- // Commodities. case Sbm.View.Assets: case Sbm.View.Commodities: case Sbm.View.Commodity_SalesBudget: case Sbm.View.Commodity_Portfolio: case Sbm.View.Commodity_Locations: case Sbm.View.Commodity_Containers: return Sbm.MenuSection.Commodities; //----------------------------------------------------------- // Transactions. case Sbm.View.Transactions_PurchaseQuote: case Sbm.View.Transactions_PurchaseSO: case Sbm.View.Transactions_ProformaPurchaseOrder: case Sbm.View.Transactions_PurchaseOrder: case Sbm.View.Transactions_PurchaseDelivery: case Sbm.View.Transactions_ProformaPurchaseInvoice: case Sbm.View.Transactions_PurchaseInvoice: return Sbm.MenuSection.PurchasesTransactions; case Sbm.View.Transactions_SalesLead: case Sbm.View.Transactions_SalesQuote: case Sbm.View.Transactions_SalesPO: case Sbm.View.Transactions_SalesOrder: case Sbm.View.Transactions_ProformaSalesOrder: case Sbm.View.Transactions_SalesDispatch: case Sbm.View.Transactions_ProformaSalesInvoice: case Sbm.View.Transactions_SalesInvoice: return Sbm.MenuSection.SalesTransactions; //----------------------------------------------------------- } return Sbm.MenuSection.Unknown; } //----------------------------------------------------------- public static Sbm.View GetViewForMenuOption(SbmSessionContext sessionContext, Sbm.MenuOption menuOption) { switch (menuOption) { case Sbm.MenuOption.Assets: return Sbm.View.Assets; case Sbm.MenuOption.Console: return Sbm.View.Console; //----------------------------------------------------------- // Contacts. case Sbm.MenuOption.Contacts_Affiliates: return Sbm.View.Contacts_Affiliates; case Sbm.MenuOption.Contacts_Associations_ContactGroups: return Sbm.View.Contacts_ContactGroups; case Sbm.MenuOption.Contacts_Associations: return Sbm.View.Contacts_Associations; case Sbm.MenuOption.Contacts_Associations_Customer: return Sbm.View.Contacts_Associations_Customer; case Sbm.MenuOption.Contacts_Associations_Supplier: return Sbm.View.Contacts_Associations_Supplier; case Sbm.MenuOption.Contacts_Associations_Associate: return Sbm.View.Contacts_Associations_Associate; case Sbm.MenuOption.Contacts_Associations_Stockist: return Sbm.View.Contacts_Associations_Stockist; case Sbm.MenuOption.Contacts_Associations_FinanceAgency: return Sbm.View.Contacts_Associations_FinanceAgency; case Sbm.MenuOption.Contacts_Associations_Member: return Sbm.View.Contacts_Associations_Member; case Sbm.MenuOption.Contacts_Associations_Contractor: return Sbm.View.Contacts_Associations_Contractor; //----------------------------------------------------------- // Commodities. case Sbm.MenuOption.Commodities: return Sbm.View.Commodities; case Sbm.MenuOption.Commodity_SalesBudget: return Sbm.View.Commodity_SalesBudget; case Sbm.MenuOption.Commodity_Portfolio: return Sbm.View.Commodity_Portfolio; case Sbm.MenuOption.Commodity_Locations: return Sbm.View.Commodity_Locations; case Sbm.MenuOption.Commodity_Containers: return Sbm.View.Commodity_Containers; case Sbm.MenuOption.PriceSets: return Sbm.View.PriceSets; //----------------------------------------------------------- // Transactions. case Sbm.MenuOption.Transactions: return Sbm.View.Transactions; case Sbm.MenuOption.Transactions_ProformaPurchaseInvoice: return Sbm.View.Transactions_ProformaPurchaseInvoice; case Sbm.MenuOption.Transactions_ProformaPurchaseOrder: return Sbm.View.Transactions_ProformaPurchaseOrder; case Sbm.MenuOption.Transactions_ProformaSalesInvoice: return Sbm.View.Transactions_ProformaSalesInvoice; case Sbm.MenuOption.Transactions_ProformaSalesOrder: return Sbm.View.Transactions_ProformaSalesOrder; case Sbm.MenuOption.Transactions_Project: return Sbm.View.Transactions_Project; case Sbm.MenuOption.Transactions_PurchaseDelivery: return Sbm.View.Transactions_PurchaseDelivery; case Sbm.MenuOption.Transactions_PurchaseInvoice: return Sbm.View.Transactions_PurchaseInvoice; case Sbm.MenuOption.Transactions_PurchaseOrder: return Sbm.View.Transactions_PurchaseOrder; case Sbm.MenuOption.Transactions_PurchaseQuote: return Sbm.View.Transactions_PurchaseQuote; case Sbm.MenuOption.Transactions_PurchaseSO: return Sbm.View.Transactions_PurchaseSO; case Sbm.MenuOption.Transactions_SalesDispatch: return Sbm.View.Transactions_SalesDispatch; case Sbm.MenuOption.Transactions_SalesInvoice: return Sbm.View.Transactions_SalesInvoice; case Sbm.MenuOption.Transactions_SalesLead: return Sbm.View.Transactions_SalesLead; case Sbm.MenuOption.Transactions_SalesOrder: return Sbm.View.Transactions_SalesOrder; case Sbm.MenuOption.Transactions_SalesPO: return Sbm.View.Transactions_SalesPO; case Sbm.MenuOption.Transactions_SalesQuote: return Sbm.View.Transactions_SalesQuote; //----------------------------------------------------------- // Config. case Sbm.MenuOption.SystemUsers: return Sbm.View.SystemUsers; case Sbm.MenuOption.SystemAccounts: return Sbm.View.SystemAccounts; } return Sbm.View.Unknown; } //------------------------------------------------------------------- } //======================================================================= }