using Sarand.BusinessMgr.Net.Standard.Base.App; using Sarand.BusinessMgr.Net.Standard.Base.Bus; using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.BusinessMgr.Net.Standard.Base.Mgr; using Sarand.BusinessMgr.Net.Standard.Base.Mgr.Control; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.CodeTypes; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Interfaces; using Sarand.Net.Standard.Base.ItemDocs; using Sarand.Net.Standard.Base.ItemOptions; using Sarand.Net.Standard.Base.Procs; using Sarand.Net.Standard.Base.ReferenceData; using Sarand.Net.Standard.Base.Security; using Sarand.Net.Standard.Base.UpdateLog; using System.Collections.Generic; using System; using Sarand.BusinessMgr.Net.Standard.Base.Consoles; using Sarand.Net.Standard.Base.ItemData; using Sarand.Net.Standard.Base.Diary; namespace Sarand.BusinessMgr.Net.Standard.Base.Procs { //======================================================================= public abstract class SbmReport_Base : SaReport_Base { //------------------------------------------------------------------- // Configuration. public new class Config : SaReport_Base.Config { protected Config(ISbmUserOrganisationContext userContext) { UserContext = userContext; } public ISbmUserOrganisationContext UserContext { get; } } //------------------------------------------------------------------- // Data members. private Config config; private SbmInternals internals = null; //------------------------------------------------------------------- // Construction. protected SbmReport_Base(Config config) : base(config) { this.config = config; } protected override void Dispose(bool disposing) { if (disposing) { if (internals != null) internals.Dispose(); } base.Dispose(disposing); } //------------------------------------------------------------------- // Properties. protected SbmInternals Internals { get { if (internals == null) internals = new SbmInternals(config.UserContext); return internals; } } protected DbUpdateInfo DbUpdateInfo { get { return Internals.DbUpdateInfo; } } // Managers. protected SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } protected SbmCommodityMgr CommodityMgr { get { return Internals.CommodityMgr; } } protected SbmPriceMgr PriceMgr { get { return Internals.PriceMgr; } } protected SbmTransactionMgr TransactionMgr { get { return Internals.TransactionMgr; } } protected SbmStockMgr StockMgr { get { return Internals.StockMgr; } } protected SbmProcessMgr ProcessMgr { get { return Internals.ProcessMgr; } } protected SbmDataItemMgr DataItemMgr { get { return Internals.DataItemMgr; } } // Consoles. protected SbmSessionConsole SessionConsole { get { return Internals.SessionConsole; } } protected SaDiaryConsole DiaryConsole { get { return Internals.DiaryConsole; } } protected SaSecurityConsole SecurityConsole { get { return Internals.SecurityConsole; } } protected SaCodeTypeConsole CodeTypeConsole { get { return Internals.CodeTypeConsole; } } protected SaReferenceDataConsole ReferenceDataConsole { get { return Internals.ReferenceDataConsole; } } protected SaUpdateLogConsole UpdateLogConsole { get { return Internals.UpdateLogConsole; } } protected SaInterfaceConsole InterfaceConsole { get { return Internals.InterfaceConsole; } } protected SaItemDocConsole ItemDocConsole { get { return Internals.ItemDocConsole; } } protected SaItemOptionConsole ItemOptionConsole { get { return Internals.ItemOptionConsole; } } protected SaItemDataConsole ItemDataConsole { get { return Internals.ItemDataConsole; } } // Configurations. protected SbmStockControlConfig StockControlConfig { get { return Internals.StockControlConfig; } } protected SbmRequirementCostingConfig RequirementCostingConfig { get { return Internals.RequirementCostingConfig; } } // Reference data. protected List GetCurrencies() { return Internals.GetCurrencies(); } protected SaCurrency GetCurrencyById(SysId currencyId) { return Internals.GetCurrencyById(currencyId); } protected SaCurrency GetCurrencyByCode(String currencyCode) { return Internals.GetCurrencyByCode(currencyCode); } protected static byte CurrencyDecimalsDefault { get { return SbmInternals.CurrencyDecimalsDefault; } } protected byte GetCurrencyDecimalsForCurrencyById(SysId currencyId) { return Internals.GetCurrencyDecimalsForCurrencyById(currencyId); } //------------------------------------------------------------------- } //======================================================================= }