using System; using System.Collections.Generic; using System.Linq; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Security; using Sarand.Net.Standard.Dbas.Data; namespace Sarand.Net.Standard.Dbas.Security { //======================================================================= internal partial class SaSecurityMgr_Dbas : SaSecurityMgr { //------------------------------------------------------------------- // Data members. //------------------------------------------------------------------- // Construction. internal SaSecurityMgr_Dbas (SaSecurityConsole_Dbas securityConsole) : base() { SecurityConsole = securityConsole; DbInfo = new DbDataItem.DatabaseInfo(securityConsole.Database); } //------------------------------------------------------------------- // Properties. internal SaSecurityConsole_Dbas SecurityConsole { get; } internal ISacsDatabase Database { get { return SecurityConsole.Database; } } private DbDataItem.DatabaseInfo DbInfo { get; } public String TableName_SecItem { get { return SaSecurityDbDfn.GetTableName(SaSecurityDbDfn.TableIdx.SaSecItem); } } public String TableName_SecLink { get { return SaSecurityDbDfn.GetTableName(SaSecurityDbDfn.TableIdx.SaSecLink); } } public override bool DatabaseIsValid { get { return (Database != null && Database.GetTableNames().Contains(TableName_SecItem) && Database.GetTableNames().Contains(TableName_SecLink)); } } public override bool CanUpdateDatabase { get { return DatabaseIsValid; } } //------------------------------------------------------------------- // Utilities. public override bool ColumnExists (SaSecurityDbDfn.ColumnIdx columnIdx) { String tableName = SaSecurityDbDfn.GetTableName(SaSecurityDbDfn.GetTableForColumn(columnIdx), false); String columnName = SaSecurityDbDfn.GetColumnName(columnIdx, false); return Database.ColumnExists(tableName, columnName); } //------------------------------------------------------------------- } //======================================================================= }