Files
PatientMgr-CSharp/SaPatientMgr/App/SpmApplication_Desktop.cs
T
2019-04-11 11:59:22 +01:00

106 lines
3.6 KiB
C#

using Sarand.PatientMgr.Core.App;
using Sarand.Core.Base;
using Sarand.Core.CodeTypes;
using Sarand.Core.Dbas.Base;
using Sarand.Win.Dbas.Base;
using System;
using System.Collections.Generic;
using System.Text;
using Sarand.PatientMgr.App.Consoles;
using Sarand.Core.Security;
using Sarand.Core.ItemOptions;
using Sarand.Core.UpdateLog;
namespace Sarand.PatientMgr.App
{
//=======================================================================
public class SpmApplication_Desktop : SpmApplication
{
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
// Construction.
public SpmApplication_Desktop (PropertySet properties, SpmSessionContext sessionContext, SacsDatabase database)
{
Properties = properties;
SessionContext = sessionContext;
Database = database;
}
//-------------------------------------------------------------------
// Properties.
public PropertySet Properties { get; }
public SpmSessionContext SessionContext { get; }
public SacsDatabase Database { get; }
//-------------------------------------------------------------------
// Database.
public override ISacsDatabase GetDatabase (SpmSessionContext sessionContext)
{
return Database;
}
public override bool ColumnExists (SpmSessionContext sessionContext, SpmDbDfn.ColumnIdx columnIdx)
{
ISacsDatabase database = GetDatabase(sessionContext);
if (database != null)
return database.ColumnExists(SpmDbDfn.GetTableName(SpmDbDfn.GetTableForColumn(columnIdx)), SpmDbDfn.GetColumnName(columnIdx));
return false;
}
//-------------------------------------------------------------------
// Security console.
private SpmSecurityConsole_App securityConsole;
public override SaSecurityConsole GetSecurityConsole (SpmSessionContext sessionContext)
{
if (securityConsole == null)
{
securityConsole = new SpmSecurityConsole_App(SessionContext, Database);
securityConsole.LogSecurityProfile = SpmGlobals.System.IsExtendedLogging(SpmSystem.ExtendedLogginOption.SecurityProfile);
securityConsole.RegisterSecurityRights();
}
return securityConsole;
}
//-------------------------------------------------------------------
// Code Type console.
private SpmCodeTypeConsole_App codeTypeConsole;
public override SaCodeTypeConsole GetCodeTypeConsole (SpmSessionContext sessionContext)
{
if (codeTypeConsole == null)
{
codeTypeConsole = new SpmCodeTypeConsole_App(SessionContext, Database);
SpmSystem.RegisterCodeTypes(codeTypeConsole, SessionContext.Site);
}
return codeTypeConsole;
}
//-------------------------------------------------------------------
// Item option console.
private SpmItemOptionConsole_App itemOptionConsole;
public override SaItemOptionConsole GetItemOptionConsole (SpmSessionContext sessionContext)
{
if (itemOptionConsole == null)
{
itemOptionConsole = new SpmItemOptionConsole_App(SessionContext, Database);
}
return itemOptionConsole;
}
//-------------------------------------------------------------------
// Update Log console.
private SpmUpdateLogConsole_App updateLogConsole;
public override SaUpdateLogConsole GetUpdateLogConsole (SpmSessionContext sessionContext)
{
if (updateLogConsole == null)
{
updateLogConsole = new SpmUpdateLogConsole_App(SessionContext, Database);
}
return updateLogConsole;
}
//-------------------------------------------------------------------
}
//=======================================================================
}