using System.ComponentModel; using System.Runtime.CompilerServices; using DispenserCore.Model.DTO; namespace DispenserCore.Context; [DispenserCommon.Ioc.Component] public class GlobalSessionHolder : INotifyPropertyChanged { private Session _session; private Session Session { get => _session; set { _session = value; OnPropertyChanged(); } } public event PropertyChangedEventHandler? PropertyChanged; /// /// 设置用户会话 /// /// public void SetSession(Session session) { Session = session; } /// /// 获取用户会话信息 /// /// public Session GetSession() { return Session; } public bool Logged() { return Session != null; } /// /// 清理会话会话 /// public void ClearSession() { Session = null; } protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } }