This commit is contained in:
2021-06-22 10:05:59 +01:00
parent 558be9063f
commit e40ff8a7f2
50 changed files with 899 additions and 184 deletions
@@ -10,6 +10,7 @@ using System.Text;
using System.Diagnostics;
using Sarand.Net.Standard.Base.Utils;
using Newtonsoft.Json.Converters;
using Sarand.Net.Standard.Base.Helpers;
namespace Saxonite.Net.Standard.Base.App
{
@@ -17,16 +18,15 @@ namespace Saxonite.Net.Standard.Base.App
public abstract class SaxSessionData
{
//-------------------------------------------------------------------
// Protected construction.
protected SaxSessionData()
{
}
private static long sessionIdxRoot = SacsRandomHelper.GetInt32(1000, 1999);
//-------------------------------------------------------------------
// Construction.
/// <summary>Hidden constructor for deserialisation only.</summary>
private SaxSessionData(SaxSessionContext sessionContext)
/// <summary>Protected constructor for deserialisation only.</summary>
protected SaxSessionData(long sessionIdx, int itemIdx, SaxSessionContext sessionContext)
{
SessionIdx = sessionIdx;
ItemIdx = itemIdx;
SessionContext = sessionContext;
userData = CreateUserData(SessionContext, null, null);
}
@@ -37,12 +37,20 @@ namespace Saxonite.Net.Standard.Base.App
/// </summary>
protected SaxSessionData(SaxSessionContext sessionContext, SaxUserAccount userAccount, List<SaxUserRole> userRoles)
{
SessionIdx = ++sessionIdxRoot;
ItemIdx = 1000;
SessionContext = sessionContext;
userData = CreateUserData(SessionContext, userAccount, userRoles);
}
//-------------------------------------------------------------------
// Properties.
// Session and Item indexers.
public long SessionIdx { get; }
public int ItemIdx { get; private set; }
[JsonIgnore]
public int NextItemIdx { get { return ++ItemIdx; } }
// Session context.
public SaxSessionContext SessionContext { get; }
[JsonIgnore]
public bool ValidUserSession { get { return SysId.IsValid(User.UserAccountId) && SysId.IsValid(User.UserAccountId); } }