Session Console and Internals.
This commit is contained in:
@@ -25,6 +25,7 @@ using static Sarand.Net.Standard.Dbas.Base.SacsDatabaseConsole;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus.Control;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr.Control;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.App;
|
||||
|
||||
namespace Sarand.BusinessMgr.Web.Control.App
|
||||
{
|
||||
@@ -58,7 +59,7 @@ namespace Sarand.BusinessMgr.Web.Control.App
|
||||
public SysId ControlRepositoryId { get; }
|
||||
public HashSet<string> RepositoryContexts { get; } = new HashSet<string>();
|
||||
public ISacsDatabase BusMgrDatabase { get; set; }
|
||||
// Core Instance config.
|
||||
// Instance config.
|
||||
private SbmInstanceConfig instanceConfig = null;
|
||||
public SbmInstanceConfig InstanceConfig
|
||||
{
|
||||
@@ -69,6 +70,17 @@ namespace Sarand.BusinessMgr.Web.Control.App
|
||||
return instanceConfig;
|
||||
}
|
||||
}
|
||||
// Instance data cache.
|
||||
private SbmInstanceDataCache instanceDataCache = null;
|
||||
public SbmInstanceDataCache InstanceDataCache
|
||||
{
|
||||
get
|
||||
{
|
||||
if (instanceDataCache == null)
|
||||
instanceDataCache = new SbmInstanceDataCache_Dbas(SessionContext);
|
||||
return instanceDataCache;
|
||||
}
|
||||
}
|
||||
}
|
||||
private readonly Dictionary<ushort, CoreInstanceContextData> coreInstances = new Dictionary<ushort, CoreInstanceContextData>();
|
||||
|
||||
@@ -164,6 +176,16 @@ namespace Sarand.BusinessMgr.Web.Control.App
|
||||
{
|
||||
return coreInstances.GetValue(sessionContext.Index, null)?.InstanceConfig;
|
||||
}
|
||||
// Instance data cache.
|
||||
public override SbmInstanceDataCache GetInstanceDataCache(SbmSessionContext sessionContext)
|
||||
{
|
||||
return coreInstances.GetValue(sessionContext.Index, null)?.InstanceDataCache;
|
||||
}
|
||||
// Organisation configuration.
|
||||
public override SbmOrganisationConfig GetOrganisationConfig(ISbmUserOrganisationContext userContext)
|
||||
{
|
||||
return new SbmOrganisationConfig_Dbas(userContext, GetInstanceDataCache(userContext.SessionContext));
|
||||
}
|
||||
// Email configuration.
|
||||
public override SbmEmailConfig EmailConfig { get { return emailConfigs.Values.ToList().getConfigForSession(AppConfig); } }
|
||||
|
||||
@@ -171,17 +193,17 @@ namespace Sarand.BusinessMgr.Web.Control.App
|
||||
// Consoles.
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
public override SaSecurityConsole CreateSecurityConsole(ISbmUserContext_Core userContext)
|
||||
public override SaSecurityConsole CreateSecurityConsole(ISbmUserOrganisationContext userContext)
|
||||
{
|
||||
return new SbmSecurityConsole_Web(userContext);
|
||||
}
|
||||
|
||||
public override SaReferenceDataConsole CreateReferenceDataConsole(ISbmUserContext_Core userContext)
|
||||
public override SaReferenceDataConsole CreateReferenceDataConsole(ISbmUserOrganisationContext userContext)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public override SbmEmailConsole CreateEmailConsole(ISbmUserContext_Core userContext)
|
||||
public override SbmEmailConsole CreateEmailConsole(ISbmUserOrganisationContext userContext)
|
||||
{
|
||||
return new SbmEmailConsole_Control(EmailConfig);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user