3.0.1.8 Control repository status check on update

This commit is contained in:
Andy Howard
2025-10-26 14:51:00 +00:00
parent a841bd8b4b
commit d414910e96
47 changed files with 727 additions and 404 deletions
@@ -7,9 +7,6 @@ using Sarand.Net.Standard.Base.ItemOptions;
using Sarand.Net.Standard.Base.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
{
@@ -21,6 +18,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
{
//-------------------------------------------------------------------
// Definitions.
private class ItemOptionData
{
public ItemOptionData(ItemId itemId)
@@ -46,16 +44,20 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
//-------------------------------------------------------------------
// Data members.
private SbmInternals internals = null;
// Instance Item Options - keyed on Owner Affiliate Id.
private readonly Dictionary<ItemId, ItemOptionsCacheData> itemOptionCaches = new Dictionary<ItemId, ItemOptionsCacheData>();
//-------------------------------------------------------------------
// Construction.
public SbmInstanceDataCache_Dbas(SbmSessionContext sessionContext)
{
this.SessionContext = sessionContext;
}
protected override void Dispose(bool disposing)
{
if (internals != null) internals.Dispose(); internals = null;
@@ -64,7 +66,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
//-------------------------------------------------------------------
// Properties.
public SbmSessionContext SessionContext { get; }
public SbmSessionContext SessionContext { get; }
private SbmInternals Internals { get { if (internals == null) { internals = new SbmInternals(SessionContext); }; return internals; } }
//-------------------------------------------------------------------
@@ -108,6 +111,20 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
}
//-------------------------------------------------------------------
/// <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 override void Reset()
{
lock (itemOptionCaches)
{
itemOptionCaches.Clear();
}
}
//-------------------------------------------------------------------
}
//=======================================================================
}
@@ -1,11 +1,7 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Base;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
{
@@ -35,7 +31,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
//-------------------------------------------------------------------
// Properties.
private SbmSessionContext SessionContext { get { return mbr.SessionContext; } }
private ISacsDatabase Database { get { if (mbr.Database == null) { mbr.Database = SbmGlobals.Application.GetBusMgrDatabase(SessionContext); } return mbr.Database; } }
private ISacsDatabase Database { get { if (mbr.Database == null) { mbr.Database = SbmGlobals.Application.CreateBusMgrDatabase(SessionContext); } return mbr.Database; } }
private new IndexStats IndexStats { get; set; }
//-------------------------------------------------------------------
@@ -1,6 +1,5 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Dbas.Base;
using Sarand.Net.Standard.Dbas.Diary;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
@@ -10,7 +9,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
{
//-------------------------------------------------------------------
// Construction.
protected SbmDiaryConsole_Dbas(ISbmUserOrganisationContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
protected SbmDiaryConsole_Dbas(ISbmUserOrganisationContext userContext)
: base(SbmGlobals.Application.CreateBusMgrDatabase(userContext.SessionContext))
{
UserContext = userContext;
}
@@ -1,6 +1,5 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Dbas.Base;
using Sarand.Net.Standard.Dbas.ItemData;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
@@ -10,7 +9,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
{
//-------------------------------------------------------------------
// Construction.
protected SbmItemDataConsole_Dbas(ISbmUserOrganisationContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
protected SbmItemDataConsole_Dbas(ISbmUserOrganisationContext userContext)
: base(SbmGlobals.Application.CreateBusMgrDatabase(userContext.SessionContext))
{
UserContext = userContext;
}
@@ -1,6 +1,5 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Dbas.Base;
using Sarand.Net.Standard.Dbas.ItemDocs;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
@@ -10,7 +9,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
{
//-------------------------------------------------------------------
// Construction.
protected SbmItemDocConsole_Dbas(ISbmUserOrganisationContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
protected SbmItemDocConsole_Dbas(ISbmUserOrganisationContext userContext)
: base(SbmGlobals.Application.CreateBusMgrDatabase(userContext.SessionContext))
{
UserContext = userContext;
}
@@ -3,7 +3,6 @@ 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
@@ -15,7 +14,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -44,14 +42,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
public override bool SystemAccountDatabaseIsValid { get { return Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount)); } }
//-------------------------------------------------------------------
@@ -3,7 +3,6 @@ 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
@@ -18,7 +17,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -47,14 +45,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
//-------------------------------------------------------------------
// Utilities.
@@ -3,7 +3,6 @@ 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
@@ -15,7 +14,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -45,14 +43,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Initialisation.
private void Initialise()
{
mbr.db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(mbr.db.DatabaseName, mbr.db.GetTableDfns());
}
//-------------------------------------------------------------------
// Database properties.
protected ISacsDatabase Database { get { return mbr.db; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { return mbr.dbInfo; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
public String TableName_PortfolioItem { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ContainerItem); } }
//-------------------------------------------------------------------
@@ -3,7 +3,6 @@ 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
@@ -18,7 +17,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -47,14 +45,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
//-------------------------------------------------------------------
// Utilities.
@@ -3,7 +3,6 @@ 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
@@ -15,7 +14,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -44,14 +42,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
protected String TableName_PriceSet { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPriceSet); } }
protected String TableName_Price { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPriceSet); } }
public override bool PriceDatabaseIsValid { get { return Database.TableExists(TableName_PriceSet) && Database.TableExists(TableName_Price); } }
@@ -3,7 +3,6 @@ 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
@@ -18,7 +17,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -39,14 +37,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
protected String TableName_Process { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Process); } }
protected String TableName_ItemLink { get { return SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink); } }
public override bool ProcessDatabaseIsValid
@@ -8,7 +8,6 @@ using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Base;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -22,7 +21,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -51,14 +49,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
//-------------------------------------------------------------------
// Utilities.
@@ -9,7 +9,6 @@ using Sarand.Net.Standard.Base.CodeTypes;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Base;
using Sarand.Net.Standard.Dbas.Data;
using System;
using System.Collections.Generic;
@@ -23,7 +22,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Data members.
public class DataMembers
{
public SacsDatabase db = null;
public SbmDbDataItem.SbmDatabaseInfo dbInfo;
}
private readonly DataMembers mbr = new DataMembers();
@@ -44,14 +42,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// 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; } }
protected ISacsDatabase Database { get { return Internals.BusMgrDatabase; } }
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get { if (mbr.dbInfo is null) mbr.dbInfo = new SbmDbDataItem.SbmDatabaseInfo(Database.DatabaseName, Database.GetTableDfns()); return mbr.dbInfo; } }
//-------------------------------------------------------------------
// Utilities.