3.0.1.8 Control repository status check on update
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
@@ -15,7 +13,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
public static class Version
|
||||
{
|
||||
private static String version { get; } = "3.0.1.7";
|
||||
private static String version { get; } = "3.0.1.8";
|
||||
// Retrieve version.
|
||||
public static String GetFullVersion() { return version; }
|
||||
public static String GetAppVersion()
|
||||
@@ -37,23 +35,25 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
// Version history.
|
||||
//-------------------------------------------------------------------
|
||||
// 3.0.1 19-Feb-25 Portal Transactions.
|
||||
// 3.0.1.1 19-Feb-25 Portal tidy.
|
||||
// 3.0.1.2 26-Feb-25 Requirements & tidy.
|
||||
// 3.0.1.3 02-Mar-25 Requirements.
|
||||
// 3.0.1.4 02-Mar-25 Fix pre-login crash on GetCurrencyDecimals().
|
||||
// 3.0.1.5 03-Mar-25 Refresh Transaction. Assets tidy.
|
||||
// 3.0.1.6 05-May-25 Addresses.
|
||||
// 3.0.1 19-Feb-25 Portal Transactions.
|
||||
// 3.0.1.1 19-Feb-25 Portal tidy.
|
||||
// 3.0.1.2 26-Feb-25 Requirements & tidy.
|
||||
// 3.0.1.3 02-Mar-25 Requirements.
|
||||
// 3.0.1.4 02-Mar-25 Fix pre-login crash on GetCurrencyDecimals().
|
||||
// 3.0.1.5 03-Mar-25 Refresh Transaction. Assets tidy.
|
||||
// 3.0.1.6 05-May-25 Addresses.
|
||||
// 3.0.1.7 21-Oct-25 Business object disposability.
|
||||
// 3.0.1.8 26-Oct-25 Control repository status check on update.
|
||||
//-------------------------------------------------------------------
|
||||
// 3.0.0 Jul-2021 Initial demo test version.
|
||||
// 02-Feb-25 Initial live deployment.
|
||||
// 3.0.0.1 08-Feb-25 Demo repository registration.
|
||||
// 3.0.0.2 08-Feb-25 Production SMTP config.
|
||||
// 3.0.0.3 10-Feb-25 Osie feedback #1. Control Repository Schema, Logs.
|
||||
// 3.0.0.4 11-Feb-25 Portal Commodity Sales properties. Control Index population.
|
||||
// 3.0.0.5 12-Feb-25 Portal Security forms tidy. Default Commodity type. Code Types and Codes.
|
||||
// 3.0.0.6 13-Feb-25 Main page layouts. Demo Account registration.
|
||||
// 3.0.0.7 17-Feb-25 Demo Transaction population.
|
||||
// 3.0.0 Jul-2021 Initial demo test version.
|
||||
// 02-Feb-25 Initial live deployment.
|
||||
// 3.0.0.1 08-Feb-25 Demo repository registration.
|
||||
// 3.0.0.2 08-Feb-25 Production SMTP config.
|
||||
// 3.0.0.3 10-Feb-25 Osie feedback #1. Control Repository Schema, Logs.
|
||||
// 3.0.0.4 11-Feb-25 Portal Commodity Sales properties. Control Index population.
|
||||
// 3.0.0.5 12-Feb-25 Portal Security forms tidy. Default Commodity type. Code Types and Codes.
|
||||
// 3.0.0.6 13-Feb-25 Main page layouts. Demo Account registration.
|
||||
// 3.0.0.7 17-Feb-25 Demo Transaction population.
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
|
||||
@@ -234,7 +233,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
// Interfaces must be available.
|
||||
if (internals.InterfaceConsole == null || !internals.InterfaceConsole.DatabaseIsValid) return false;
|
||||
// System Account & User tables must be available.
|
||||
ISacsDatabase busMgrDb = SbmGlobals.Application.GetBusMgrDatabase(sessionConsole.UserContext.SessionContext);
|
||||
ISacsDatabase busMgrDb = internals.BusMgrDatabase;
|
||||
if (!SbmGlobals.Application.DbTableExists(busMgrDb, SbmDbDfn.TableIdx.SystemAccount)) return false;
|
||||
if (!SbmGlobals.Application.DbTableExists(busMgrDb, SbmDbDfn.TableIdx.SystemUser)) return false;
|
||||
return true;
|
||||
|
||||
@@ -1,23 +1,15 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Consoles;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.CodeTypes;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Diary;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using Sarand.Net.Standard.Base.ItemData;
|
||||
using Sarand.Net.Standard.Base.ItemDocs;
|
||||
using Sarand.Net.Standard.Base.ItemOptions;
|
||||
using Sarand.Net.Standard.Base.ReferenceData;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmApplication : SacsDisposable
|
||||
//=======================================================================
|
||||
public abstract class SbmApplication : SacsDisposable
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
@@ -45,28 +37,20 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
return properties.GetPropertyValue(section, name);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// --- Properties ---
|
||||
|
||||
public abstract SbmSystem System { get; }
|
||||
// Control & Template Databases.
|
||||
public abstract ISacsDatabase GetControlDatabase();
|
||||
public abstract ISacsDatabase GetTemplateDatabase();
|
||||
// Business Mgr Database.
|
||||
public abstract HashSet<string> GetRepositoryContexts(SbmSessionContext sessionContext);
|
||||
public abstract ISacsDatabase GetBusMgrDatabase(SbmSessionContext sessionContext);
|
||||
public IDatabaseInfo CreateBusMgrDbInfo(SbmSessionContext sessionContext)
|
||||
{
|
||||
return GetBusMgrDatabase(sessionContext).CreateDbInfo();
|
||||
}
|
||||
public abstract ISacsDatabase CreateBusMgrDatabase(SbmSessionContext sessionContext);
|
||||
// Instance and Organisation profiles.
|
||||
public abstract SbmInstanceConfig GetInstanceConfig(SbmSessionContext sessionContext);
|
||||
public abstract SbmInstanceDataCache GetInstanceDataCache(SbmSessionContext sessionContext);
|
||||
public abstract SbmOrganisationConfig GetOrganisationConfig(ISbmUserOrganisationContext userContext);
|
||||
// Database utilities.
|
||||
public IDatabaseInfo CreateDbInfo(ISacsDatabase db)
|
||||
{
|
||||
return db?.CreateDbInfo() ?? null;
|
||||
}
|
||||
public bool DbTableExists(ISacsDatabase db, SbmDbDfn.TableIdx tableIdx)
|
||||
{
|
||||
return db?.TableExists(SbmDbDfn.GetTableName(tableIdx)) ?? false;
|
||||
@@ -84,6 +68,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
// Email configuration.
|
||||
public abstract SbmEmailConfig EmailConfig { get; }
|
||||
|
||||
// --- Utilities ---
|
||||
|
||||
public abstract void DoHousekeeping(CancellationToken ct);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -1,15 +1,4 @@
|
||||
using Sarand.Net.Standard.Base.CodeTypes;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Diary;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using Sarand.Net.Standard.Base.ItemData;
|
||||
using Sarand.Net.Standard.Base.ItemDocs;
|
||||
using Sarand.Net.Standard.Base.ItemOptions;
|
||||
using Sarand.Net.Standard.Base.ReferenceData;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
//=======================================================================
|
||||
public static class SbmGlobals
|
||||
@@ -22,13 +11,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
// Application.
|
||||
public static SbmApplication Application { get; set; } = null;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Database.
|
||||
public static ISacsDatabase GetBusMgrDatabase(SbmSessionContext sessionContext)
|
||||
{
|
||||
return Application != null ? Application.GetBusMgrDatabase(sessionContext) : null;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Clear globals.
|
||||
public static void Clear()
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.ItemOptions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
@@ -17,15 +13,28 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
|
||||
public SbmInstanceDataCache() { }
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Retrieve Item Options for Owner Organisation configuration.
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Item Options for Owner Organisation configuration.
|
||||
/// </summary>
|
||||
/// <param name="userContext"></param>
|
||||
/// <returns></returns>
|
||||
public abstract List<SaItemOption> GetOwnerOptions(ISbmUserOrganisationContext userContext);
|
||||
|
||||
/// <summary>
|
||||
/// Resets the state of the cache to its initial condition.
|
||||
/// </summary>
|
||||
/// <remarks>Typically done when something significant about the instance (eg. db connection configuration) has changed.</remarks>
|
||||
public abstract void Reset();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -2,14 +2,12 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Consoles;
|
||||
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.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.CodeTypes;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Diary;
|
||||
using Sarand.Net.Standard.Base.Email;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using Sarand.Net.Standard.Base.ItemData;
|
||||
using Sarand.Net.Standard.Base.ItemDocs;
|
||||
@@ -17,7 +15,6 @@ using Sarand.Net.Standard.Base.ItemOptions;
|
||||
using Sarand.Net.Standard.Base.ReferenceData;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -61,41 +58,46 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmSystem system = SbmGlobals.System;
|
||||
// Managers.
|
||||
private class Managers
|
||||
private class DataMembers
|
||||
{
|
||||
public SbmAccountMgr accountMgr;
|
||||
public SbmAssetMgr assetMgr;
|
||||
public SbmCommodityMgr commodityMgr;
|
||||
public SbmPriceMgr priceMgr;
|
||||
public SbmTransactionMgr transactionMgr;
|
||||
public SbmStockMgr stockMgr;
|
||||
public SbmProcessMgr processMgr;
|
||||
public SbmDataItemMgr dataItemMgr;
|
||||
public SbmSystem system { get; } = SbmGlobals.System;
|
||||
public ISacsDatabase busMgrDatabase { get; set; }
|
||||
// Managers.
|
||||
public class Managers
|
||||
{
|
||||
public SbmAccountMgr accountMgr;
|
||||
public SbmAssetMgr assetMgr;
|
||||
public SbmCommodityMgr commodityMgr;
|
||||
public SbmPriceMgr priceMgr;
|
||||
public SbmTransactionMgr transactionMgr;
|
||||
public SbmStockMgr stockMgr;
|
||||
public SbmProcessMgr processMgr;
|
||||
public SbmDataItemMgr dataItemMgr;
|
||||
}
|
||||
public Managers mgr { get; } = new Managers();
|
||||
// Consoles.
|
||||
public class Consoles
|
||||
{
|
||||
public SbmInstanceSchemaConsole instanceSchemaConsole;
|
||||
public SbmSessionConsole sessionConsole;
|
||||
public SbmAccountsConsole accountsConsole;
|
||||
public SaDiaryConsole diaryConsole;
|
||||
public SaSecurityConsole securityConsole;
|
||||
public SaCodeTypeConsole codeTypeConsole;
|
||||
public SaReferenceDataConsole referenceDataConsole;
|
||||
public SaUpdateLogConsole updateLogConsole;
|
||||
public SaInterfaceConsole interfaceConsole;
|
||||
public SaItemDocConsole itemDocConsole;
|
||||
public SaItemOptionConsole itemOptionConsole;
|
||||
public SaItemDataConsole itemDataConsole;
|
||||
public SbmEmailConsole emailConsole;
|
||||
}
|
||||
public Consoles con { get; } = new Consoles();
|
||||
// Configurations.
|
||||
public SbmStockControlConfig stockControlConfig { get; set; }
|
||||
public SbmRequirementCostingConfig requirementCostingConfig { get; set; }
|
||||
}
|
||||
private readonly Managers mgr = new Managers();
|
||||
// Consoles.
|
||||
private class Consoles
|
||||
{
|
||||
public SbmInstanceSchemaConsole instanceSchemaConsole;
|
||||
public SbmSessionConsole sessionConsole;
|
||||
public SbmAccountsConsole accountsConsole;
|
||||
public SaDiaryConsole diaryConsole;
|
||||
public SaSecurityConsole securityConsole;
|
||||
public SaCodeTypeConsole codeTypeConsole;
|
||||
public SaReferenceDataConsole referenceDataConsole;
|
||||
public SaUpdateLogConsole updateLogConsole;
|
||||
public SaInterfaceConsole interfaceConsole;
|
||||
public SaItemDocConsole itemDocConsole;
|
||||
public SaItemOptionConsole itemOptionConsole;
|
||||
public SaItemDataConsole itemDataConsole;
|
||||
public SbmEmailConsole emailConsole;
|
||||
}
|
||||
private readonly Consoles con = new Consoles();
|
||||
// Configurations.
|
||||
private SbmStockControlConfig stockControlConfig;
|
||||
private SbmRequirementCostingConfig requirementCostingConfig;
|
||||
private DataMembers mbr { get; } = new DataMembers();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
@@ -121,27 +123,27 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
if (disposing)
|
||||
{
|
||||
// Managers.
|
||||
if (mgr.accountMgr != null) mgr.accountMgr.Dispose();
|
||||
if (mgr.assetMgr != null) mgr.assetMgr.Dispose();
|
||||
if (mgr.commodityMgr != null) mgr.commodityMgr.Dispose();
|
||||
if (mgr.priceMgr != null) mgr.priceMgr.Dispose();
|
||||
if (mgr.transactionMgr != null) mgr.transactionMgr.Dispose();
|
||||
if (mgr.stockMgr != null) mgr.stockMgr.Dispose();
|
||||
if (mgr.processMgr != null) mgr.processMgr.Dispose();
|
||||
if (mgr.dataItemMgr != null) mgr.dataItemMgr.Dispose();
|
||||
if (mbr.mgr.accountMgr != null) mbr.mgr.accountMgr.Dispose();
|
||||
if (mbr.mgr.assetMgr != null) mbr.mgr.assetMgr.Dispose();
|
||||
if (mbr.mgr.commodityMgr != null) mbr.mgr.commodityMgr.Dispose();
|
||||
if (mbr.mgr.priceMgr != null) mbr.mgr.priceMgr.Dispose();
|
||||
if (mbr.mgr.transactionMgr != null) mbr.mgr.transactionMgr.Dispose();
|
||||
if (mbr.mgr.stockMgr != null) mbr.mgr.stockMgr.Dispose();
|
||||
if (mbr.mgr.processMgr != null) mbr.mgr.processMgr.Dispose();
|
||||
if (mbr.mgr.dataItemMgr != null) mbr.mgr.dataItemMgr.Dispose();
|
||||
// Consoles.
|
||||
// Database console doesn't require disposal.
|
||||
if (con.sessionConsole != null) con.sessionConsole.Dispose();
|
||||
if (con.diaryConsole != null) con.diaryConsole.Dispose();
|
||||
if (con.securityConsole != null) con.securityConsole.Dispose();
|
||||
if (con.codeTypeConsole != null) con.codeTypeConsole.Dispose();
|
||||
if (con.referenceDataConsole != null) con.referenceDataConsole.Dispose();
|
||||
if (con.updateLogConsole != null) con.updateLogConsole.Dispose();
|
||||
if (con.interfaceConsole != null) con.interfaceConsole.Dispose();
|
||||
if (con.itemDocConsole != null) con.itemDocConsole.Dispose();
|
||||
if (con.itemOptionConsole != null) con.itemOptionConsole.Dispose();
|
||||
if (con.itemDataConsole != null) con.itemDataConsole.Dispose();
|
||||
if (con.itemDataConsole != null) con.itemDataConsole.Dispose();
|
||||
if (mbr.con.sessionConsole != null) mbr.con.sessionConsole.Dispose();
|
||||
if (mbr.con.diaryConsole != null) mbr.con.diaryConsole.Dispose();
|
||||
if (mbr.con.securityConsole != null) mbr.con.securityConsole.Dispose();
|
||||
if (mbr.con.codeTypeConsole != null) mbr.con.codeTypeConsole.Dispose();
|
||||
if (mbr.con.referenceDataConsole != null) mbr.con.referenceDataConsole.Dispose();
|
||||
if (mbr.con.updateLogConsole != null) mbr.con.updateLogConsole.Dispose();
|
||||
if (mbr.con.interfaceConsole != null) mbr.con.interfaceConsole.Dispose();
|
||||
if (mbr.con.itemDocConsole != null) mbr.con.itemDocConsole.Dispose();
|
||||
if (mbr.con.itemOptionConsole != null) mbr.con.itemOptionConsole.Dispose();
|
||||
if (mbr.con.itemDataConsole != null) mbr.con.itemDataConsole.Dispose();
|
||||
if (mbr.con.itemDataConsole != null) mbr.con.itemDataConsole.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,11 +154,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
public ISbmUserOrganisationContext UserContext { get; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext?.SessionContext; } }
|
||||
public ISbmSecurityProfile_Core SecurityProfile { get { return UserContext.SecurityProfile; } }
|
||||
public SbmAccountsConsole AccountsConsole { get { if (con.accountsConsole == null) con.accountsConsole = new SbmAccountsConsole(this); { return con.accountsConsole; } } }
|
||||
public SbmAccountsConsole AccountsConsole { get { if (mbr.con.accountsConsole == null) mbr.con.accountsConsole = new SbmAccountsConsole(this); { return mbr.con.accountsConsole; } } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Database.
|
||||
public ISacsDatabase BusMgrDatabase { get { return Application.GetBusMgrDatabase(SessionContext); } }
|
||||
public ISacsDatabase BusMgrDatabase
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mbr.busMgrDatabase == null)
|
||||
mbr.busMgrDatabase = Application.CreateBusMgrDatabase(SessionContext);
|
||||
return mbr.busMgrDatabase;
|
||||
}
|
||||
}
|
||||
public DbUpdateInfo DbUpdateInfo { get { return UserContext.DbUpdateInfo; } }
|
||||
// Schema.
|
||||
public bool TableExists(String tableName)
|
||||
@@ -288,72 +298,72 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.accountMgr == null)
|
||||
mgr.accountMgr = system.CreateAccountMgr(this);
|
||||
return mgr.accountMgr;
|
||||
if (mbr.mgr.accountMgr == null)
|
||||
mbr.mgr.accountMgr = mbr.system.CreateAccountMgr(this);
|
||||
return mbr.mgr.accountMgr;
|
||||
}
|
||||
}
|
||||
public SbmAssetMgr AssetMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.assetMgr == null)
|
||||
mgr.assetMgr = system.CreateAssetMgr(this);
|
||||
return mgr.assetMgr;
|
||||
if (mbr.mgr.assetMgr == null)
|
||||
mbr.mgr.assetMgr = mbr.system.CreateAssetMgr(this);
|
||||
return mbr.mgr.assetMgr;
|
||||
}
|
||||
}
|
||||
public SbmCommodityMgr CommodityMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.commodityMgr == null)
|
||||
mgr.commodityMgr = system.CreateCommodityMgr(this);
|
||||
return mgr.commodityMgr;
|
||||
if (mbr.mgr.commodityMgr == null)
|
||||
mbr.mgr.commodityMgr = mbr.system.CreateCommodityMgr(this);
|
||||
return mbr.mgr.commodityMgr;
|
||||
}
|
||||
}
|
||||
public SbmPriceMgr PriceMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.priceMgr == null)
|
||||
mgr.priceMgr = system.CreatePriceMgr(this);
|
||||
return mgr.priceMgr;
|
||||
if (mbr.mgr.priceMgr == null)
|
||||
mbr.mgr.priceMgr = mbr.system.CreatePriceMgr(this);
|
||||
return mbr.mgr.priceMgr;
|
||||
}
|
||||
}
|
||||
public SbmTransactionMgr TransactionMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.transactionMgr == null)
|
||||
mgr.transactionMgr = system.CreateTransactionMgr(this);
|
||||
return mgr.transactionMgr;
|
||||
if (mbr.mgr.transactionMgr == null)
|
||||
mbr.mgr.transactionMgr = mbr.system.CreateTransactionMgr(this);
|
||||
return mbr.mgr.transactionMgr;
|
||||
}
|
||||
}
|
||||
public SbmStockMgr StockMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.stockMgr == null)
|
||||
mgr.stockMgr = system.CreateStockMgr(this);
|
||||
return mgr.stockMgr;
|
||||
if (mbr.mgr.stockMgr == null)
|
||||
mbr.mgr.stockMgr = mbr.system.CreateStockMgr(this);
|
||||
return mbr.mgr.stockMgr;
|
||||
}
|
||||
}
|
||||
public SbmProcessMgr ProcessMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.processMgr == null)
|
||||
mgr.processMgr = system.CreateProcessMgr(this);
|
||||
return mgr.processMgr;
|
||||
if (mbr.mgr.processMgr == null)
|
||||
mbr.mgr.processMgr = mbr.system.CreateProcessMgr(this);
|
||||
return mbr.mgr.processMgr;
|
||||
}
|
||||
}
|
||||
public SbmDataItemMgr DataItemMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgr.dataItemMgr == null)
|
||||
mgr.dataItemMgr = SbmGlobals.System.CreateDataItemMgr(this);
|
||||
return mgr.dataItemMgr;
|
||||
if (mbr.mgr.dataItemMgr == null)
|
||||
mbr.mgr.dataItemMgr = SbmGlobals.System.CreateDataItemMgr(this);
|
||||
return mbr.mgr.dataItemMgr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,89 +373,89 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.instanceSchemaConsole == null) { con.instanceSchemaConsole = new SbmInstanceSchemaConsole(BusMgrDatabase); }
|
||||
return con.instanceSchemaConsole;
|
||||
if (mbr.con.instanceSchemaConsole == null) { mbr.con.instanceSchemaConsole = new SbmInstanceSchemaConsole(BusMgrDatabase); }
|
||||
return mbr.con.instanceSchemaConsole;
|
||||
}
|
||||
}
|
||||
public SbmSessionConsole SessionConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.sessionConsole == null) { con.sessionConsole = SbmGlobals.System.CreateSessionConsole(this); }
|
||||
return con.sessionConsole;
|
||||
if (mbr.con.sessionConsole == null) { mbr.con.sessionConsole = SbmGlobals.System.CreateSessionConsole(this); }
|
||||
return mbr.con.sessionConsole;
|
||||
}
|
||||
}
|
||||
public SaDiaryConsole DiaryConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.diaryConsole == null) { con.diaryConsole = SbmGlobals.System.CreateDiaryConsole(this); }
|
||||
return con.diaryConsole;
|
||||
if (mbr.con.diaryConsole == null) { mbr.con.diaryConsole = SbmGlobals.System.CreateDiaryConsole(this); }
|
||||
return mbr.con.diaryConsole;
|
||||
}
|
||||
}
|
||||
public SaSecurityConsole SecurityConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.securityConsole == null) { con.securityConsole = SbmGlobals.System.CreateSecurityConsole(this); }
|
||||
return con.securityConsole;
|
||||
if (mbr.con.securityConsole == null) { mbr.con.securityConsole = SbmGlobals.System.CreateSecurityConsole(this); }
|
||||
return mbr.con.securityConsole;
|
||||
}
|
||||
}
|
||||
public SaCodeTypeConsole CodeTypeConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.codeTypeConsole == null) { con.codeTypeConsole = SbmGlobals.System.CreateCodeTypeConsole(this); }
|
||||
return con.codeTypeConsole;
|
||||
if (mbr.con.codeTypeConsole == null) { mbr.con.codeTypeConsole = SbmGlobals.System.CreateCodeTypeConsole(this); }
|
||||
return mbr.con.codeTypeConsole;
|
||||
}
|
||||
}
|
||||
public SaReferenceDataConsole ReferenceDataConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.referenceDataConsole == null) { con.referenceDataConsole = SbmGlobals.System.CreateReferenceDataConsole(this); }
|
||||
return con.referenceDataConsole;
|
||||
if (mbr.con.referenceDataConsole == null) { mbr.con.referenceDataConsole = SbmGlobals.System.CreateReferenceDataConsole(this); }
|
||||
return mbr.con.referenceDataConsole;
|
||||
}
|
||||
}
|
||||
public SaUpdateLogConsole UpdateLogConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.updateLogConsole == null) { con.updateLogConsole = SbmGlobals.System.CreateUpdateLogConsole(this); }
|
||||
return con.updateLogConsole;
|
||||
if (mbr.con.updateLogConsole == null) { mbr.con.updateLogConsole = SbmGlobals.System.CreateUpdateLogConsole(this); }
|
||||
return mbr.con.updateLogConsole;
|
||||
}
|
||||
}
|
||||
public SaInterfaceConsole InterfaceConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.interfaceConsole == null) { con.interfaceConsole = SbmGlobals.System.CreateInterfaceConsole(this); }
|
||||
return con.interfaceConsole;
|
||||
if (mbr.con.interfaceConsole == null) { mbr.con.interfaceConsole = SbmGlobals.System.CreateInterfaceConsole(this); }
|
||||
return mbr.con.interfaceConsole;
|
||||
}
|
||||
}
|
||||
public SaItemDocConsole ItemDocConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.itemDocConsole == null) { con.itemDocConsole = SbmGlobals.System.CreateItemDocConsole(this); }
|
||||
return con.itemDocConsole;
|
||||
if (mbr.con.itemDocConsole == null) { mbr.con.itemDocConsole = SbmGlobals.System.CreateItemDocConsole(this); }
|
||||
return mbr.con.itemDocConsole;
|
||||
}
|
||||
}
|
||||
public SaItemOptionConsole ItemOptionConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.itemOptionConsole == null)
|
||||
con.itemOptionConsole = SbmGlobals.System.CreateItemOptionConsole(this);
|
||||
return con.itemOptionConsole;
|
||||
if (mbr.con.itemOptionConsole == null)
|
||||
mbr.con.itemOptionConsole = SbmGlobals.System.CreateItemOptionConsole(this);
|
||||
return mbr.con.itemOptionConsole;
|
||||
}
|
||||
}
|
||||
public SaItemDataConsole ItemDataConsole
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.itemDataConsole == null) { con.itemDataConsole = SbmGlobals.System.CreateItemDataConsole(this); }
|
||||
return con.itemDataConsole;
|
||||
if (mbr.con.itemDataConsole == null) { mbr.con.itemDataConsole = SbmGlobals.System.CreateItemDataConsole(this); }
|
||||
return mbr.con.itemDataConsole;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -456,8 +466,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
get
|
||||
{
|
||||
if (con.emailConsole == null) { con.emailConsole = SbmGlobals.System.CreateEmailConsole(EmailConfig); }
|
||||
return con.emailConsole;
|
||||
if (mbr.con.emailConsole == null) { mbr.con.emailConsole = SbmGlobals.System.CreateEmailConsole(EmailConfig); }
|
||||
return mbr.con.emailConsole;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -467,18 +477,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
{
|
||||
get
|
||||
{
|
||||
if (stockControlConfig == null)
|
||||
stockControlConfig = SessionConsole.GetStockControlConfig();
|
||||
return stockControlConfig;
|
||||
if (mbr.stockControlConfig == null)
|
||||
mbr.stockControlConfig = SessionConsole.GetStockControlConfig();
|
||||
return mbr.stockControlConfig;
|
||||
}
|
||||
}
|
||||
public SbmRequirementCostingConfig RequirementCostingConfig
|
||||
{
|
||||
get
|
||||
{
|
||||
if (requirementCostingConfig == null)
|
||||
requirementCostingConfig = SessionConsole.GetRequirementCostingConfig();
|
||||
return requirementCostingConfig;
|
||||
if (mbr.requirementCostingConfig == null)
|
||||
mbr.requirementCostingConfig = SessionConsole.GetRequirementCostingConfig();
|
||||
return mbr.requirementCostingConfig;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user