Inhalt

Aktueller Ordner: duesseldorfer-schuelerinventar-csharp-client/Duesk/Api
⬅ Übergeordnet

SessionManager.cs

namespace Duesk.Api;

public class SessionManager
{
    private static SessionManager? _instance;
    private static readonly object _lock = new object();
    
    private SessionManager() { }
    
    public static SessionManager Instance
    {
        get
        {
            lock (_lock)
            {
                if (_instance == null)
                    _instance = new SessionManager();
                return _instance;
            }
        }
    }
    
    public string? UserId { get; private set; }
    public string? Session { get; private set; }
    public bool IsLoggedIn => !string.IsNullOrEmpty(UserId) && !string.IsNullOrEmpty(Session);
    
    public void SetSession(string userId, string session)
    {
        UserId = userId;
        Session = session;
    }
    
    public void Clear()
    {
        UserId = null;
        Session = null;
    }
}