118 lines
3.9 KiB
C#
118 lines
3.9 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 TableExists (SpmSessionContext sessionContext, SpmDbDfn.TableIdx tableIdx)
|
|
{
|
|
SacsDatabase database = GetDatabase(sessionContext) as SacsDatabase;
|
|
if (database != null)
|
|
{
|
|
String tablename = SpmDbDfn.GetTableName(tableIdx, false);
|
|
DbDfnTable table = database.GetTableDfn(tablename);
|
|
if (table != null)
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
public override bool ColumnExists (SpmSessionContext sessionContext, SpmDbDfn.ColumnIdx columnIdx)
|
|
{
|
|
ISacsDatabase database = GetDatabase(sessionContext);
|
|
if (database != null)
|
|
return database.ColumnExists(SpmDbDfn.GetTableName(SpmDbDfn.GetTableForColumn(columnIdx),false), SpmDbDfn.GetColumnName(columnIdx,false));
|
|
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;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|