Files
Saxonite/SaxoniteStandardBase/Base/Mgr/SaxItemMgr.cs
T
2021-06-15 15:16:50 +01:00

84 lines
3.4 KiB
C#

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<TypeCodeDesc> DataItemTypeCodes { get { return Internals.DataItemTypeCodes; } }
public List<TypeCodeDesc> SportParticipationCodes { get { return Internals.SportParticipationCodes; } }
public List<TypeCodeDesc> SportOfficiatingCodes { get { return Internals.SportOfficiatingCodes; } }
public List<TypeCodeDesc> RegionTypeCodes { get { return Internals.RegionTypeCodes; } }
public List<TypeCodeDesc> UserRoleCodes { get { return Internals.UserRoleCodes; } }
public List<TypeCodeDesc> OrganisationTypeCodes { get { return Internals.OrganisationTypeCodes; } }
public List<TypeCodeDesc> OrganisationCategoryCodes { get { return Internals.OrganisationCategoryCodes; } }
public List<TypeCodeDesc> OrganisationRoleCodes { get { return Internals.OrganisationRoleCodes; } }
public List<TypeCodeDesc> OpportunityTypeCodes { get { return Internals.OpportunityTypeCodes; } }
public List<TypeCodeDesc> ActivityReactionCodes { get { return Internals.ActivityReactionCodes; } }
//-------------------------------------------------------------------
}
//=======================================================================
}