using System; namespace RecruitmentDAL.DTO.Application { // TAPPLICATION — Candidate x JobRequisition, current pipeline position. // CandidateId/JobRequisitionId/CurrentStageId are plain int FKs into MCANDIDATE / // TJOBREQUISITION / MSELECTIONPROCESSSTAGE (owned by parallel modules) — no name-lookup // joins are attempted here; a future "Candidate Profile" view resolves those separately. public class ApplicationDTO { #region PrivateMembers private int applicationid; private int candidateid = -1; // FK MCANDIDATE private int jobrequisitionid = -1; // FK TJOBREQUISITION private int currentstageid = -1; // FK MSELECTIONPROCESSSTAGE private byte applicationsource = 1; // 1=Website 2=JobPortal 3=Agency 4=Referral 5=Internal 6=Direct/Manual private int agencyid = -1; // FK-by-convention MRECRUITMENTAGENCY (not enforced, same cross-boundary pattern as BgVerificationDTO.ReportAttachmentId), set when ApplicationSource=Agency(3); -1 = not agency-attributed. Phase 6 attribution hook — no GOP intake flow calls this yet, see AgencyDTO's doc comment. private DateTime appliedon; #region Standard private short sortorder; private byte status; private short version; private int tenantid; #endregion #region Base private int createdbyid; private DateTime createdon; private string createdbyname; private int modifiedbyid; private DateTime modifiedon; private string modifiedbyname; #endregion #endregion #region PublicMembers public int ApplicationId { get { return applicationid; } set { applicationid = value; } } public int CandidateId { get { return candidateid; } set { candidateid = value; } } public int JobRequisitionId { get { return jobrequisitionid; } set { jobrequisitionid = value; } } public int CurrentStageId { get { return currentstageid; } set { currentstageid = value; } } public byte ApplicationSource { get { return applicationsource; } set { applicationsource = value; } } public int AgencyId { get { return agencyid; } set { agencyid = value; } } public DateTime AppliedOn { get { return appliedon; } set { appliedon = value; } } #region Standard public short SortOrder { get { return sortorder; } set { sortorder = value; } } public byte Status { get { return status; } set { status = value; } } public short Version { get { return version; } set { version = value; } } public int TenantId { get { return tenantid; } set { tenantid = value; } } #endregion #region Base public int CreatedById { get { return createdbyid; } set { createdbyid = value; } } public DateTime CreatedOn { get { return createdon; } set { createdon = value; } } public string CreatedByName { get { return createdbyname; } set { createdbyname = value; } } public int ModifiedById { get { return modifiedbyid; } set { modifiedbyid = value; } } public DateTime ModifiedOn { get { return modifiedon; } set { modifiedon = value; } } public string ModifiedByName { get { return modifiedbyname; } set { modifiedbyname = value; } } #endregion #endregion } }