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 SbmStockMgr_Dbas : SbmStockMgr { //------------------------------------------------------------------- // Static Definitions - Alias&Prefix. //------------------------------------------------------------------- // Data members. private SacsDatabase db = null; private readonly SbmDbDataItem.SbmDatabaseInfo dbInfo; //------------------------------------------------------------------- // Construction. public SbmStockMgr_Dbas(ISbmUserContext_Core userContext) : base(userContext) { db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase); dbInfo = new SbmDbDataItem.SbmDatabaseInfo(db.DatabaseName, db.GetTableDfns()); } //------------------------------------------------------------------- // Properties. protected ISacsDatabase Database { get { return db; } } protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { return dbInfo; } } //------------------------------------------------------------------- // Utilities. public override bool DatabaseIsValid() { ClearErrorState(); if (!TableExists(SbmDbDfn.TableIdx.StockLevel)) return SetErrorState("Stock Level table does not exist"); if (!TableExists(SbmDbDfn.TableIdx.Movement)) return SetErrorState("Movement 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); } //------------------------------------------------------------------- } //======================================================================= }