Sic.Framework/MECF.Framework.Common/MECF/Framework/Common/Account/Extends/UserContext.cs

61 lines
1.1 KiB
C#

using System;
using Aitex.Core.Account;
using MECF.Framework.Common.CommonData;
namespace MECF.Framework.Common.Account.Extends
{
[Serializable]
public class UserContext : NotifiableItem
{
#region Variables
private Credential _cred;
private string _loginName;
#endregion
#region Properties
public Credential Credential
{
get => _cred;
set
{
_cred = value;
InvokePropertyChanged(nameof(Token));
InvokePropertyChanged(nameof(LoginName));
InvokePropertyChanged(nameof(LoginTime));
}
}
public Guid Token => _cred.Token;
public string LoginName => _cred?.AccountInfo?.LoginName ?? "";
public DateTime LoginTime => _cred?.LoginTime ?? DateTime.MinValue;
public Role Role { get; set; }
public DateTime LastAccessTime { get; set; }
public string Language { get; private set; }
public bool IsLogin { get; set; }
#endregion
#region Methods
public void Clear()
{
_cred = Credential.Empty;
Role = null;
LastAccessTime = DateTime.MinValue;
Language = string.Empty;
IsLogin = false;
}
#endregion
}
}