Files
Saxonite/SaxoniteCoreWebOnline/Online/Consoles/SaxConsoleHelper_WebOnline.cs
T
2022-02-16 10:47:45 +00:00

73 lines
3.0 KiB
C#

using Saxonite.Net.Core.Web.Base.Consoles;
using Saxonite.Net.Core.Web.Online.App;
using Saxonite.Net.Standard.Base.App;
using Saxonite.Net.Standard.Base.Consoles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Saxonite.Net.Core.Web.Online.Consoles
{
//=======================================================================
public class SaxConsoleHelper_WebOnline : SaxConsoleHelper_Web
{
//-------------------------------------------------------------------
// Data members.
private readonly SaxApplication_Online app;
//-------------------------------------------------------------------
// construction.
public SaxConsoleHelper_WebOnline(SaxApplication_Online app)
{
this.app = app;
}
//-------------------------------------------------------------------
// Data cache console.
private readonly Dictionary<ushort, SaxDataCacheConsole_Online> dataCacheConsoles = new Dictionary<ushort, SaxDataCacheConsole_Online>();
public override SaxDataCacheConsole GetDataCacheConsole(SaxSessionContext sessionContext)
{
if (sessionContext == null) throw new NotSupportedException(GetType().Name + ".GetDataCacheConsole Session Context must be specified");
SaxDataCacheConsole_Online dataCacheConsole = dataCacheConsoles.GetValueOrDefault(sessionContext.Index, null);
if (dataCacheConsole == null)
{
dataCacheConsole = dataCacheConsoles[sessionContext.Index] = new SaxDataCacheConsole_Online(sessionContext);
}
return dataCacheConsole;
}
//-------------------------------------------------------------------
// Session Data console.
private readonly Dictionary<ushort, SaxSessionDataConsole_Online> sessionDataConsoles = new Dictionary<ushort, SaxSessionDataConsole_Online>();
public override SaxSessionDataConsole GetSessionDataConsole(SaxSessionContext sessionContext)
{
if (sessionContext == null) throw new NotSupportedException(GetType().Name + ".GetSessionDataConsole Session Context must be specified");
SaxSessionDataConsole_Online sessionDataConsole = sessionDataConsoles.GetValueOrDefault(sessionContext.Index, null);
if (sessionDataConsole == null)
{
sessionDataConsole = sessionDataConsoles[sessionContext.Index] = new SaxSessionDataConsole_Online(sessionContext);
}
return sessionDataConsole;
}
//-------------------------------------------------------------------
// Activity console.
public override SaxActivityConsole CreateActivityConsole(SaxSessionContext sessionContext)
{
return new SaxActivityConsole_Online(sessionContext);
}
//-------------------------------------------------------------------
// Email console.
public override SaxEmailConsole CreateEmailConsole(SaxSessionContext sessionContext)
{
SaxEmailConsole emailConsole = new SaxEmailConsole_Web(app.EmailConfig);
return emailConsole;
}
//-------------------------------------------------------------------
}
//=======================================================================
}