namespace TCMSDAL.DTO; /// /// MTCMSMODULE — a testable module within a TCMS project. /// Optionally linked to a PIE module via PIEMODULEID for traceability. /// public sealed class TCMSModuleDTO { public int ModuleId { get; set; } public string ModuleCode { get; set; } = string.Empty; public string ModuleName { get; set; } = string.Empty; public string? Description { get; set; } /// FK → MTCMSPROJECT public int ProjectId { get; set; } public string? ProjectName { get; set; } /// PIE ModuleId for behavior-matrix traceability (nullable) public Guid? PieModuleId { get; set; } public string? PieModuleName { get; set; } /// P1 | P2 | P3 public string Priority { get; set; } = "P2"; /// Owner team or individual public string? Owner { get; set; } public bool IsActive { get; set; } = true; public int TenantId { get; set; } public int CreatedBy { get; set; } public DateTime CreatedDate { get; set; } public int? ModifiedBy { get; set; } public DateTime? ModifiedDate { get; set; } } public sealed class TCMSModuleListDTO { public int ModuleId { get; set; } public string ModuleCode { get; set; } = string.Empty; public string ModuleName { get; set; } = string.Empty; public string ProjectName { get; set; } = string.Empty; public string Priority { get; set; } = string.Empty; public string? Owner { get; set; } public bool IsActive { get; set; } // Coverage aggregates (computed by coverage endpoints) public int TotalTestCases { get; set; } public int PassedCount { get; set; } public int FailedCount { get; set; } public decimal CoveragePct { get; set; } } public sealed class TCMSModuleSelectDTO { public int ModuleId { get; set; } public string ModuleCode { get; set; } = string.Empty; public string ModuleName { get; set; } = string.Empty; }