using GB5Shared.DTO.Framework.Login; using System.Threading; using System.Threading.Tasks; namespace RecruitmentBLL.CandidateConversion { // The reverse direction of ICandidateConversionBLL.ConvertCandidateToEmployeeAsync (Phase 6 // — internal mobility, see EmployeeToInternalCandidateBLL's class doc comment for the full // rationale). Seeds a new CandidateType=InternalEmployee Candidate row from an *existing* // Employee's own master data, so an employee applying to a different internal opening is not // asked to re-enter information GB5 already has. public interface IEmployeeToInternalCandidateBLL { // Resolves the existing InternalEmployee-type Candidate for this EmployeeId if one // already exists (a repeat internal-mobility applicant), or seeds a new one from // PayRollBLL.Employee.IEmployeeBLL.GetEmployee's own data. Returns the Candidate JSON // (same shape as ICandidateBLL.GetCandidate) either way. Task ConvertEmployeeToInternalCandidate(int employeeId, LoginDTO login, CancellationToken ct); } }