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; } }