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) { } /// /// SessionData construction. /// SessionContext and UserAccount must be supplied. /// Organisation is optional. /// public SaxSessionData_Admin(SaxSessionContext sessionContext, SaxUserAccount userAccount, List userRoles) : base(sessionContext, userAccount, userRoles) { } //------------------------------------------------------------------- // Properties. //------------------------------------------------------------------- // User details. private class UserData_Admin : UserData { public UserData_Admin(SaxSessionContext sessionContext, SaxUserAccount userAccount, List userRoles) : base(sessionContext, userAccount, userRoles) { } public UserData_Admin(UserData userData) : base(userData) { } } protected override UserData CreateUserData(SaxSessionContext sessionContext, SaxUserAccount userAccount, List userRoles) { return new UserData_Admin(sessionContext, userAccount, userRoles); } /// User - JSON deserialisation route. 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); //------------------------------------------------------------------- } //======================================================================= }