using Sacs.Web.Components; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Email; using Saxonite.Net.Core.Web.Base.App; using Saxonite.Net.Standard.Base.App; using Saxonite.Net.Standard.Base.Consoles; using Saxonite.Net.Standard.Base.Mgr; using Saxonite.Net.Standard.Base.Mgr.Reference; using Saxonite.Net.Standard.Base.Mgr.Support; using System.Collections.Generic; namespace Saxonite.Net.Core.Web.Base.Controllers { //======================================================================= public abstract class SaxController_Base : SaController { //------------------------------------------------------------------- // Data members. private SaxInternals internals; //------------------------------------------------------------------- // Protected construction. protected SaxController_Base(SaxLocaliser localiser) { Localiser = localiser; // Initialise console (debug) logging listener. //if (Directory.Exists(App.LoggingRootFolder) && SaxSystem.DebugMode) // SaxConsoleListener.ConfigureDebugListener(App.LoggingRootFolder); if (DebugMode) SaLogger.Trace($"{GetType().Name}.CTR"); } protected override void Dispose(bool disposing) { if (disposing) { } base.Dispose(disposing); } //------------------------------------------------------------------- // Properties. protected SaxApplication_Web App { get { return SaxApplication_Web.WebApp; } } public SaxAppConfig AppConfig { get { return App.AppConfig; } } public SaxSessionContext SessionContext { get { return App.SessionContext; } } public SaxLocaliser Localiser { get; } //------------------------------------------------------------------- // Globals. protected SaxConsoleHelper ConsoleHelper { get { return SaxGlobals.ConsoleHelper; } } //------------------------------------------------------------------- // Business components. public SaxInternals Internals { get { if (internals == null) internals = new SaxInternals(SessionContext); return internals; } } // Consoles. public SaxDataCacheConsole DataCacheConsole { get { return Internals.DataCacheConsole; } } public SaxSessionDataConsole SessionDataConsole { get { return Internals.SessionDataConsole; } } 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; } } public SaxReferenceGolfMgr ReferenceGolfMgr { get { return Internals.ReferenceGolfMgr; } } public SaxSupportMgr SupportMgr { get { return Internals.SupportMgr; } } // System codes. public List DataItemTypeCodes { get { return Internals.DataItemTypeCodes; } } public List SportSpecialityLabelCodes { get { return Internals.SportSpecialityLabelCodes; } } public List SportContactTypeCodes { get { return Internals.SportContactTypeCodes; } } public List SportParticipatingCodes { get { return Internals.SportParticipatingCodes; } } public List SportPreparingCodes { get { return Internals.SportPreparingCodes; } } public List SportOfficiatingCodes { get { return Internals.SportOfficiatingCodes; } } public List RegionTypeCodes { get { return Internals.RegionTypeCodes; } } public List EligibilityTypeCodes { get { return Internals.EligibilityTypeCodes; } } 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 AssociationTypeCodes { get { return Internals.AssociationTypeCodes; } } public List AddressTypeCodes { get { return Internals.AddressTypeCodes; } } public List ContactMethodCodes { get { return Internals.ContactMethodCodes; } } public List EventTypeCodes { get { return Internals.EventTypeCodes; } } public List OpportunityTypeCodes { get { return Internals.OpportunityTypeCodes; } } public List ActivityReactionCodes { get { return Internals.ActivityReactionCodes; } } // Support. public List UserReportTypeCodes { get { return Internals.UserReportTypeCodes; } } // Email. public SaEmailConfig EmailConfig { get { return App.EmailConfig; } } public SaxEmailConsole EmailConsole { get { return Internals.EmailConsole; } } //------------------------------------------------------------------- } //======================================================================= }