Files
Saxonite/Workspace/SaxoniteWebApi/Api/Consoles/SaxConsoleHelper_Api.cs
T
andy 9f22b522df v1.3.0 Restructure Saxonite workspace and upgrade to .NET 10 (#1)
Move Saxonite’s projects into a dedicated `Workspace` folder and align the solution with .NET 10 and the current Common workspace. Update encryption integration, test project structure and coverage, and repository guidance and upgrade notes.

- Relocate application and library projects while retaining Git rename history.
- Split tests into Admin, Online, and Shared projects; add representative behavioral and serialization tests.
- Update Common integration, application version, and repository documentation.

Application version: 1.3.0

Reviewed-on: #1
Co-authored-by: andy <andy@sarand.com>
2026-10-16 18:24:16 +01:00

87 lines
3.0 KiB
C#

using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
using Saxonite.Net.Core.Web.Base.Consoles;
using Saxonite.Net.Standard.Base.App;
using Saxonite.Net.Standard.Base.Consoles;
using Saxonite.Web.Api.App;
namespace Saxonite.Web.Api.Consoles
{
//=======================================================================
public class SaxConsoleHelper_Api : SaxConsoleHelper_Web
{
//-------------------------------------------------------------------
// Data members:
private readonly SaxApplication_Api app;
//-------------------------------------------------------------------
// Construction.
public SaxConsoleHelper_Api(SaxApplication_Api app)
{
this.app = app;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// Clear process consoles.
foreach (SaxProcessConsole_Api? processConsole in processConsoles.Values)
{
if (processConsole != null)
processConsole.Dispose();
}
processConsoles.Clear();
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Data cache console.
public override SaxDataCacheConsole? GetDataCacheConsole(SaxSessionContext sessionContext)
{
//throw new NotSupportedException(fn + " Data Cache Console not supported in API app.");
return null;
}
//-------------------------------------------------------------------
// Session data console.
public override SaxSessionDataConsole? GetSessionDataConsole(SaxSessionContext sessionContext)
{
// Method is called by Base Controller on ValidUserSession and must return null for Admin app.
return null;
}
//-------------------------------------------------------------------
// Process console.
private Dictionary<ushort, SaxProcessConsole_Api?> processConsoles { get; } = new Dictionary<ushort, SaxProcessConsole_Api?>();
public SaxProcessConsole GetProcessConsole(SaxSessionContext sessionContext)
{
if (sessionContext == null) throw new NotSupportedException($"{SysUtil.Fn} Session Context must be specified.");
SaxProcessConsole_Api? processConsole = processConsoles.GetValueOrDefault(sessionContext.Index, null);
if (processConsole == null)
{
processConsole = processConsoles[sessionContext.Index] = new SaxProcessConsole_Api(sessionContext);
}
return processConsole;
}
//-------------------------------------------------------------------
// Activity console.
public override SaxActivityConsole CreateActivityConsole(SaxSessionContext sessionContext)
{
return new SaxActivityConsole_Api(sessionContext);
}
//-------------------------------------------------------------------
// Email console.
public override SaxEmailConsole CreateEmailConsole(SaxSessionContext sessionContext)
{
SaxEmailConsole emailConsole = new SaxEmailConsole_Web(app.EmailConfig);
return emailConsole;
}
//-------------------------------------------------------------------
}
//=======================================================================
}