Files
Saxonite/SaxoniteStandardBase/Base/App/SaxApplication_Base.cs
T
2024-06-14 17:39:14 +01:00

49 lines
1.7 KiB
C#

using Sarand.Net.Standard.Base.Dbas;
using Saxonite.Net.Standard.Base.Consoles;
using Saxonite.Net.Standard.Base.App;
using System;
using System.Collections.Generic;
using System.Text;
using Sarand.Net.Standard.Base.Core;
namespace Saxonite.Net.Standard.Base.App
{
//=======================================================================
public abstract class SaxApplication_Base : SacsDisposable
{
//-------------------------------------------------------------------
// Protected construction.
protected SaxApplication_Base()
{
App = this;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
App = null;
}
}
//-------------------------------------------------------------------
// Globals.
public static SaxApplication_Base App { get; private set; }
public abstract SaxSystem System { get; }
public abstract SaxConsoleHelper ConsoleHelper { get; }
// Database.
public abstract ISacsDatabase GetDatabase(SaxSessionContext sessionContext, Sax.Database databaseType);
public abstract IDatabaseInfo CreateDbInfo(SaxSessionContext sessionContext, Sax.Database databaseType);
// Application instance.
public abstract Sax.InstanceType InstanceType { get; }
public bool IsLiveHost() { return InstanceType == Sax.InstanceType.Prod; }
public bool IsTestHost() { return InstanceType != Sax.InstanceType.Prod; }
public bool IsDevHost() { return InstanceType == Sax.InstanceType.Dev; }
public abstract String EnvironmentName { get; }
// Email configuration.
public abstract SaxEmailConfig EmailConfig { get; }
//-------------------------------------------------------------------
}
//=======================================================================
}