Files
PatientMgr-CSharp/SaPatientMgr/App/SpmApplication_Desktop.cs
T

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;
}
//-------------------------------------------------------------------
}
//=======================================================================
}