using System; namespace GB5Shared.GOP.Qualifier.DTOs { /// /// Cross-qualifier summary view — one row per qualifier definition. /// Includes active version label, total version count, and last activation date. /// Populated by GET_QUALIFIER_LIBRARY (single JOIN query — no N+1). /// public class QualifierLibraryDTO { public int TenantId { get; set; } public int QualifierId { get; set; } public string QualifierCode { get; set; } = string.Empty; public string QualifierName { get; set; } = string.Empty; /// 1=Validation, 2=Enrichment, 3=Scoring, 4=Routing public byte QualifierType { get; set; } public string EntityCode { get; set; } = string.Empty; public bool IsSystem { get; set; } public string? Description { get; set; } public int Status { get; set; } public int SortOrder { get; set; } // ── Active version info (null when no version has been activated yet) ── public int? ActiveVersionNo { get; set; } public string? ActiveVersionLabel { get; set; } public DateTime? ActiveActivatedOn { get; set; } // ── Version aggregates ──────────────────────────────────────────────── public int TotalVersionCount { get; set; } public DateTime? LastActivatedOn { get; set; } } }