Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas.cs
T

78 lines
2.7 KiB
C#

using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Dbas.Base;
using System;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
internal partial class SbmProcessMgr_Dbas : SbmProcessMgr
{
//-------------------------------------------------------------------
// Static Definitions - Alias&Prefix.
//-------------------------------------------------------------------
// Data members.
public class Members
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly Members mbr = new Members();
//-------------------------------------------------------------------
// Construction.
public SbmProcessMgr_Dbas(SbmInternals internals) :
base(internals)
{
Initialise();
}
public SbmProcessMgr_Dbas(ISbmUserOrganisationContext userContext) :
base(userContext)
{
Initialise();
}
// Initialisation.
private void Initialise()
{
mbr.db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(mbr.db.DatabaseName, mbr.db.GetTableDfns());
}
//-------------------------------------------------------------------
// Properties.
protected ISacsDatabase Database { get { return mbr.db; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { return mbr.dbInfo; } }
protected String TableName_Process { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Process); } }
protected String TableName_ItemLink { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink); } }
public override bool ProcessDatabaseIsValid
{
get
{
if (!Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Process))) return false;
if (!Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink))) return false;
return true;
}
}
//-------------------------------------------------------------------
// Utilities.
public override bool ColumnExists(SbmDbDfn.ColumnIdx columnIdx)
{
SbmDbDfn.TableIdx tableIdx = SbmDbDfn.GetTableForColumn(columnIdx);
String schemaName = SbmDbDfn.GetSchemaName(tableIdx, false);
String tableName = SbmDbDfn.GetTableName(tableIdx, false);
String columnName = SbmDbDfn.GetColumnName(columnIdx, false);
return DbInfo.ColumnExists(schemaName, tableName, columnName);
}
//-------------------------------------------------------------------
}
//=======================================================================
}