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