using System; namespace RecruitmentDAL.DTO.Candidate { // Wire shape for the legacy-Applicant-dashboard bridge (see CandidateQB.GET_CURRENT_STAGE_BY_EMAIL // and CandidateDAL.GetCurrentStageByEmail). One row per legacy applicant EMAIL that matched an // active MCANDIDATE row for the tenant. An email with no match is simply absent from the result // set — the caller (gb4.7mfe's ApplicantDashboard) treats "no row returned" as "Not in Pipeline", // never fabricated. public class CandidateCurrentStageDTO { private string email; private int candidateid; private int? currentstageid; private string currentstagename; public string Email { get { return email; } set { email = value; } } public int CandidateId { get { return candidateid; } set { candidateid = value; } } // Null when the matched Candidate has no active Application yet. public int? CurrentStageId { get { return currentstageid; } set { currentstageid = value; } } // Null when there is no active Application (Candidate exists but hasn't entered a // pipeline stage) — the FE falls back to "Not in Pipeline" for a null value here too. public string CurrentStageName { get { return currentstagename; } set { currentstagename = value; } } } }