85 lines
2.9 KiB
C#
85 lines
2.9 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 SbmAssetMgr_Dbas : SbmAssetMgr
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Static Definitions - Alias&Prefix.
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
public class DataMembers
|
|
{
|
|
public SacsDatabase db = null;
|
|
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
|
|
}
|
|
private readonly DataMembers mbr = new DataMembers();
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SbmAssetMgr_Dbas(SbmInternals internals) :
|
|
base(internals)
|
|
{
|
|
Initialise();
|
|
}
|
|
public SbmAssetMgr_Dbas(ISbmUserOrganisationContext userContext) :
|
|
base(userContext)
|
|
{
|
|
Initialise();
|
|
}
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing)
|
|
{
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// 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; } }
|
|
|
|
//-------------------------------------------------------------------
|
|
// Utilities.
|
|
|
|
public override bool AssetDatabaseIsValid()
|
|
{
|
|
ClearErrorState();
|
|
if (Database == null) return SetErrorState("Database not specified");
|
|
//if (pDb->GetInterfaceType() != SaDatabase::eSaDbInterfaceOdbc) return SetErrorState ("Database not ODBC");
|
|
if (Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory))) return SetErrorState("Asset Category table does not exist");
|
|
if (Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset))) return SetErrorState("Asset table does not exist");
|
|
return true;
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|