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