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. public class Members { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } private readonly Members mbr = new Members(); //------------------------------------------------------------------- // Construction. public SbmStockMgr_Dbas(SbmInternals internals) : base(internals) { Initialise(); } public SbmStockMgr_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 DatabaseIsValid() { ClearErrorState(); if (!Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.StockLevel))) return SetErrorState("Stock Level table does not exist"); if (!Database.TableExists(SbmDbDfn.GetTableName(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); } //------------------------------------------------------------------- } //======================================================================= }