using System;
namespace FrameworkDAL.DTO.SessionStore
{
///
/// Maps to MSESSIONSTORE in the GB5 system database.
/// Tracks one active login session per (SERVERCONFIGID, LOGINEVENTLOGID) pair.
///
public class SessionStoreDTO
{
public int SessionId { get; set; }
public int ServerconfigId { get; set; }
public int LoginEventLogId { get; set; }
public DateTime LoginTime { get; set; }
public DateTime LastLoginUsedTime { get; set; }
public string MachineIp { get; set; } = string.Empty;
public int UserId { get; set; }
public string UserCode { get; set; } = string.Empty;
public string UserName { get; set; } = string.Empty;
///
/// 0 = active session, 1 = inactive.
/// CHECK constraint: ISACTIVE IN (0, 1).
///
public byte IsActive { get; set; } = 0;
}
///
/// Lightweight projection returned by GetUnusedSessionsAsync.
///
public class UnusedSessionDTO
{
public int LoginEventLogId { get; set; }
public string MachineIp { get; set; } = string.Empty;
public int UserId { get; set; }
public string UserName { get; set; } = string.Empty;
}
}