Files
Saxonite/SaxoniteCoreWebAdmin/Admin/App/SaxSessionData_Admin.cs
T
2022-05-29 13:45:22 +01:00

70 lines
2.7 KiB
C#

using Newtonsoft.Json;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Helpers;
using Saxonite.Net.Core.Web.Admin.Controllers;
using Saxonite.Net.Core.Web.Base.App;
using Saxonite.Net.Standard.Base.App;
using Saxonite.Net.Standard.Base.Bus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Saxonite.Net.Core.Web.Admin.App
{
//=======================================================================
public class SaxSessionData_Admin : SaxSessionData_Web
{
//-------------------------------------------------------------------
// Construction.
[JsonConstructor]
private SaxSessionData_Admin(long sessionIdx, int itemIdx, SaxSessionContext sessionContext) :
base(sessionIdx, itemIdx, sessionContext)
{ }
/// <summary>
/// SessionData construction.
/// <para>SessionContext and UserAccount must be supplied.</para>
/// <para>Organisation is optional.</para>
/// </summary>
public SaxSessionData_Admin(SaxSessionContext sessionContext, SaxUserAccount userAccount, List<SaxUserRole> userRoles) :
base(sessionContext, userAccount, userRoles)
{ }
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// User details.
private class UserData_Admin : UserData
{
public UserData_Admin(SaxSessionContext sessionContext, SaxUserAccount userAccount, List<SaxUserRole> userRoles) :
base(sessionContext, userAccount, userRoles)
{ }
public UserData_Admin(UserData userData) :
base(userData)
{ }
}
protected override UserData CreateUserData(SaxSessionContext sessionContext, SaxUserAccount userAccount, List<SaxUserRole> userRoles) { return new UserData_Admin(sessionContext, userAccount, userRoles); }
/// <summary>User - JSON deserialisation route.</summary>
public new UserData User { get { return base.User; } set { SetUser(new UserData_Admin(value)); } }
//-------------------------------------------------------------------
// General filters.
public class FilterData
{
// Sport.
public SysId SportId { get; set; }
// Region.
public SysId RegionId { get; set; }
}
public FilterData Filter { get; private set; } = new FilterData();
//-------------------------------------------------------------------
// Online application encryption IV value - for consistent encryption during session.
public String Base64IV_AdminApp { get; private set; } = SacsEncryptionHelper.InitSymmetricEncryptionIV(SaxController_Admin.Base64Key_AdminApp);
//-------------------------------------------------------------------
}
//=======================================================================
}