using TMSDAL.DTO.EvaluationResponse; using TMSDAL.DTO.EvaluationTemplate; namespace TMSDAL.DTO.Evaluation { namespace TMSDAL.DTO.EvaluationPlan { public class EvaluationPlanDTO { // ===================================================== // PRIMARY KEY // ===================================================== public int EvaluationPlanId { get; set; } // ===================================================== // BUSINESS COLUMNS // ===================================================== /// /// -1 = Multi-programme evaluation /// public int ProgrammeId { get; set; } = -1; /// /// Joined from MTRAININGPROGRAMME — display reference for FK /// public string? ProgrammeTitle { get; set; } public string PlanTitle { get; set; } = string.Empty; /// /// 0 = L1 Reaction, 1 = L2 Learning, /// 2 = L3 Behaviour, 3 = L4 Results /// public byte Kirkpatrick { get; set; } = 0; /// /// 0 = Immediate; 30/90/180/365 = follow-up days /// public int EvalWindowDays { get; set; } = 0; /// /// 0 = Participant, 1 = Supervisor, 2 = HR, /// 3 = Manager, 4 = BusinessHead /// public byte RespondentType { get; set; } = 0; /// /// 0 = OnCompletion, 1 = ScheduledDate, 2 = ManualTrigger /// public byte EvalTrigger { get; set; } = 0; /// /// JSON array of reminder days e.g. [7, 3, 1] /// public string? ReminderDays { get; set; } /// /// 0 = No, 1 = Yes /// public byte IsMultiProgramme { get; set; } = 0; /// /// 0 = No, 1 = Yes /// public byte IsActive { get; set; } = 1; // ===================================================== // STANDARD FIELDS // ===================================================== public short Version { get; set; } public byte Status { get; set; } public short SortOrder { get; set; } public byte SourceType { get; set; } public int TenantId { get; set; } public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } // ===================================================== // CHILD COLLECTION // ===================================================== public List? Templates { get; set; } } } public class SubmitEvaluationDTO { public int EvalInstanceId { get; set; } public List Responses { get; set; } = new(); } }