using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using TMSDAL.DTO.TxSkillUpgrade; namespace TMSBLL.TxSkillUpgrade { public interface ITxSkillUpgradeBLL { Task GetTxSkillUpgrade(int txSkillUpgradeId, LoginDTO loginDTO, CancellationToken ct); Task GetTxSkillUpgradeList(int upgradeStatus, LoginDTO loginDTO, CancellationToken ct); Task GetSelectListTxSkillUpgrade(CriteriaDTO criteriaDTO, LoginDTO loginDTO, CancellationToken ct); // Called from TrainingCompletionBLL (assessmentId = -1, whole-programme scope) and // AssessmentAttemptBLL (a specific assessmentId) after a pass. Resolves matching // MPROGRAMMESKILLMAP row(s) and branches on IsAutoPropose — non-fatal by design. Task ApplySkillMappingAsync(int programmeId, int assessmentId, int enrollmentId, LoginDTO loginDTO, CancellationToken ct); // Manual create/edit path — a supervisor proposing or amending an upgrade directly, // independent of the auto-trigger above. Insert when TxSkillUpgradeId == 0, else update. Task SaveTxSkillUpgrade(TxSkillUpgradeDTO dto, LoginDTO loginDTO, CancellationToken ct); Task DeleteTxSkillUpgrade(int txSkillUpgradeId, LoginDTO loginDTO, CancellationToken ct); Task ReviewTxSkillUpgrade(ReviewSkillUpgradeDTO dto, LoginDTO loginDTO, CancellationToken ct); } }