Add project files.
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
|
||||
namespace Sarand.Net.Standard.Dbas.Interfaces
|
||||
{
|
||||
//=======================================================================
|
||||
public partial class SaInterfaceMgr_Dbas : SaInterfaceMgr
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Static initialisation.
|
||||
static SaInterfaceMgr_Dbas ()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaInterfaceMgr_Dbas (SaInterfaceConsole_Dbas interfaceConsole) :
|
||||
base(interfaceConsole)
|
||||
{
|
||||
Database = interfaceConsole.Database;
|
||||
DbInfo = new DbDataItem.DatabaseInfo(interfaceConsole.Database);
|
||||
|
||||
// Verify Interface table names.
|
||||
// NB Some databases omit the 'Sa' prefix.
|
||||
if (!Database.TableExists(TableName_Interface) && !Database.TableExists(TableName_InterfaceDataItem) && !Database.TableExists(TableName_InterfaceProcess) && !Database.TableExists(TableName_InterfaceProcessDataItem) && !Database.TableExists(TableName_InterfaceProcessMessage))
|
||||
{
|
||||
if (Database.TableExists("Interface") && Database.TableExists("InterfaceDataItem") && Database.TableExists("InterfaceProcess") && Database.TableExists("InterfaceProcessDataItem") && Database.TableExists("InterfaceProcessMessage"))
|
||||
{
|
||||
TableName_Interface = "Interface";
|
||||
TableName_InterfaceProcess = "InterfaceProcess";
|
||||
TableName_InterfaceProcessMessage = "InterfaceProcessMessage";
|
||||
TableName_InterfaceDataItem = "InterfaceDataItem";
|
||||
TableName_InterfaceProcessDataItem = "InterfaceProcessDataItem";
|
||||
SaLogger.Info(GetType().Name+".CTR Switching to Interface table names without 'Sa' prefix");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
internal SacsDatabase Database { get; }
|
||||
private DbDataItem.DatabaseInfo DbInfo { get; }
|
||||
public String TableName_Interface { get; } = SaInterfaceDbDfn.GetTableName(SaInterfaceDbDfn.TableIdx.SaInterface);
|
||||
public String TableName_InterfaceProcess { get; } = SaInterfaceDbDfn.GetTableName(SaInterfaceDbDfn.TableIdx.SaInterfaceProcess);
|
||||
public String TableName_InterfaceProcessMessage { get; } = SaInterfaceDbDfn.GetTableName(SaInterfaceDbDfn.TableIdx.SaInterfaceProcessMessage);
|
||||
public String TableName_InterfaceDataItem { get; } = SaInterfaceDbDfn.GetTableName(SaInterfaceDbDfn.TableIdx.SaInterfaceDataItem);
|
||||
public String TableName_InterfaceProcessDataItem { get; } = SaInterfaceDbDfn.GetTableName(SaInterfaceDbDfn.TableIdx.SaInterfaceProcessDataItem);
|
||||
public override bool DatabaseIsValid { get { return (Database != null && Database.GetTableNames().Contains(TableName_Interface) && Database.GetTableNames().Contains(TableName_InterfaceProcess)); } }
|
||||
public override bool CanUpdateDatabase { get { return DatabaseIsValid; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
public override bool ColumnExists (SaInterfaceDbDfn.ColumnIdx columnIdx)
|
||||
{
|
||||
SaInterfaceDbDfn.TableIdx tableIdx = SaInterfaceDbDfn.GetTableForColumn(columnIdx);
|
||||
String tableName = SaInterfaceDbDfn.GetTableName(tableIdx, false);
|
||||
switch (tableIdx)
|
||||
{
|
||||
// Ensure correct table name used - with/without 'Sa' prefix.
|
||||
case SaInterfaceDbDfn.TableIdx.SaInterface: tableName = TableName_Interface; break;
|
||||
case SaInterfaceDbDfn.TableIdx.SaInterfaceProcess: tableName = TableName_InterfaceProcess; break;
|
||||
case SaInterfaceDbDfn.TableIdx.SaInterfaceProcessMessage: tableName = TableName_InterfaceProcessMessage; break;
|
||||
case SaInterfaceDbDfn.TableIdx.SaInterfaceDataItem: tableName = TableName_InterfaceDataItem; break;
|
||||
case SaInterfaceDbDfn.TableIdx.SaInterfaceProcessDataItem: tableName = TableName_InterfaceProcessDataItem; break;
|
||||
}
|
||||
String columnName = SaInterfaceDbDfn.GetColumnName(columnIdx, false);
|
||||
return Database.ColumnExists(tableName, columnName);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
Reference in New Issue
Block a user