namespace TMSDAL.DTO.TxSkillUpgrade { public class TxSkillUpgradeDTO { public int TxSkillUpgradeId { get; set; } public int EnrollmentId { get; set; } public int SkillId { get; set; } public string? SkillCode { get; set; } public string? SkillName { get; set; } public int ProductFamilyId { get; set; } = -1; public int ModelId { get; set; } = -1; public short PreviousLevelNo { get; set; } public short ProposedLevelNo { get; set; } = 1; public DateTime ProposedOn { get; set; } public byte UpgradeStatus { get; set; } public int ReviewedById { get; set; } = -1; public string? ReviewedByName { get; set; } public DateTime? ReviewedOn { get; set; } public int UpdatedProfileId { get; set; } = -1; public string? RejectionReason { get; set; } public string? Remarks { get; set; } public short Version { get; set; } public byte Status { get; set; } = 1; public short SortOrder { get; set; } = 9999; public byte SourceType { get; set; } = 5; public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } public int TenantId { get; set; } // Denormalised at proposal time so the review queue doesn't need a second // round-trip through TTRAININGENROLLMENT just to show who this is for. public int EmployeeId { get; set; } public string? EmployeeName { get; set; } } public class ReviewSkillUpgradeDTO { public int TxSkillUpgradeId { get; set; } // "Approve" or "Reject" — kept as a string (not an enum) on the wire so new decisions // can be added without a client contract change; TxSkillUpgradeBLL validates the value. public string Decision { get; set; } = string.Empty; public string? ReviewRemarks { get; set; } } public class TxSkillUpgradeSelectDTO { public int TxSkillUpgradeId { get; set; } public string? SkillName { get; set; } public string? EnrollmentCode { get; set; } public short ProposedLevelNo { get; set; } public byte UpgradeStatus { get; set; } } }