using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; using Saxonite.Net.Standard.Base.App; using Saxonite.Net.Standard.Base.Consoles; using System; using System.Collections.Generic; using System.Text; namespace Saxonite.Net.Standard.Base.Mgr { //======================================================================= public class SaxItemMgr : SacsItemMgr { //------------------------------------------------------------------- // Data members. private class DataMembers { public SaxInternals internals; public bool internalsCreatedHere = false; } private DataMembers data = new DataMembers(); //------------------------------------------------------------------- protected SaxItemMgr(SaxSessionContext sessionContext, SaxInternals internals) { data.internals = internals; SessionContext = sessionContext; } protected override void Dispose(bool disposing) { if (disposing) { if (data.internals != null && data.internalsCreatedHere) data.internals.Dispose(); } base.Dispose(disposing); } //------------------------------------------------------------------- // Properties. public Boolean DebugMode { get { return SacsSystem.DebugMode; } } public SaxSessionContext SessionContext { get; } public ISacsDatabase CoreDatabase { get { return Internals.CoreDatabase; } } public IDatabaseInfo CoreDbInfo { get { return Internals.CreateCoreDbInfo(); } } // Business components. protected SaxInternals Internals { get { if (data.internals == null) { data.internals = new SaxInternals(SessionContext); data.internalsCreatedHere = true; } return data.internals; } } // Consoles. public SaxDataCacheConsole DataCacheConsole { get { return Internals.DataCacheConsole; } } public SaxActivityConsole ActivityConsole { get { return Internals.ActivityConsole; } } // Managers. public SaxReferenceMgr ReferenceMgr { get { return Internals.ReferenceMgr; } } public SaxAccountMgr AccountMgr { get { return Internals.AccountMgr; } } public SaxActivityMgr ActivityMgr { get { return Internals.ActivityMgr; } } public SaxItemDataMgr ItemDataMgr { get { return Internals.ItemDataMgr; } } // Application codes. public List SportParticipationCodes { get { return Internals.SportParticipationCodes; } } public List SportOfficiatingCodes { get { return Internals.SportOfficiatingCodes; } } public List RegionTypeCodes { get { return Internals.RegionTypeCodes; } } public List UserRoleCodes { get { return Internals.UserRoleCodes; } } public List OrganisationTypeCodes { get { return Internals.OrganisationTypeCodes; } } public List OrganisationCategoryCodes { get { return Internals.OrganisationCategoryCodes; } } public List OrganisationRoleCodes { get { return Internals.OrganisationRoleCodes; } } public List OpportunityTypeCodes { get { return Internals.OpportunityTypeCodes; } } public List DataItemTypeCodes { get { return Internals.DataItemTypeCodes; } } //------------------------------------------------------------------- } //======================================================================= }