Files
Saxonite/SaxoniteCoreWebOnline/Online/App/SaxSessionData_Online.cs
T
andy 63473c725b v1.0.5.0
Activity Index. User Account country. Internals regions.
2021-05-25 22:00:08 +01:00

76 lines
2.9 KiB
C#

using Newtonsoft.Json;
using Sarand.Net.Standard.Base.Bus;
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.Online.App
{
//=======================================================================
public class SaxSessionData_Online : SaxSessionData_Web
{
//-------------------------------------------------------------------
// Construction.
[JsonConstructor]
private SaxSessionData_Online(SaxSessionContext sessionContext) : this(sessionContext, null, null) { }
/// <summary>
/// SessionData construction.
/// <para>SessionContext and UserAccount must be supplied.</para>
/// <para>Organisation is optional.</para>
/// </summary>
public SaxSessionData_Online(SaxSessionContext sessionContext, SaxUserAccount userAccount, List<SaxUserRole> userRoles) :
base(sessionContext, userAccount, userRoles)
{
}
//-------------------------------------------------------------------
// Security.
/// <summary>User - JSON deserialisation route.</summary>
public new UserData User { get { return base.User; } set { SetUser(value); } }
//-------------------------------------------------------------------
// Filter properties.
public class FilterData
{
/// <summary>Id for currently selected Organisation.</summary>
public SysId OrganisationId { get; set; }
/// <summary>Display text for currently selected Organisation.</summary>
public String OrganisationCaption { get; set; }
/// <summary>
/// Store the properties for the currently selected Organisation.
/// </summary>
public bool SetOrganisation(SaxOrganisation organisation)
{
if (organisation == null) return false;
if (!organisation.IsStatusActive) return false;
OrganisationId = organisation.Id;
OrganisationCaption = organisation.Name;
return true;
}
/// <summary>Id for currently selected Organisation of which the user is a member.</summary>
public SysId OrganisationIdMember { get; set; }
/// <summary>Display text for currently selected Organisation of which the user is a member.</summary>
public String OrganisationCaptionMember { get; set; }
/// <summary>
/// Store the properties for the currently selected Organisation for which the User is a member.
/// </summary>
public bool SetMemberOrganisation(SaxOrganisation organisation)
{
if (organisation == null) return false;
if (!organisation.IsStatusActive) return false;
OrganisationIdMember = organisation.Id;
OrganisationCaptionMember = organisation.Name;
return true;
}
}
public FilterData Filter { get; private set; } = new FilterData();
//-------------------------------------------------------------------
}
//=======================================================================
}