using Newtonsoft.Json; 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)); } } //------------------------------------------------------------------- } //======================================================================= }