namespace RecruitmentDAL.DTO.Reports { // Recruiter workload/productivity dashboard row (Phase 5 of the Recruitment build-out plan — // see /Users/venkatv/.claude/plans/can-you-check-the-precious-sunbeam.md). The operational // "what's on my plate" view — one row per recruiter (TJOBREQUISITION.ASSIGNEDRECRUITERID). public class RecruiterWorkloadDTO { // -1 = requisitions with no recruiter assigned yet (RecruiterName reads "Unassigned"). public int RecruiterId { get; set; } public string RecruiterName { get; set; } = string.Empty; // Requisitions currently open — RequisitionStatus in // {1=Draft, 2=PendingApproval, 3=Approved, 5=Published, 6=OnHold} (not Rejected(4)/Closed(7)). public int OpenRequisitionCount { get; set; } // Applications against this recruiter's requisitions whose current pipeline stage is not // yet Terminal (MSELECTIONPROCESSSTAGE.STAGECATEGORY=7 AND ISTERMINAL=1) — i.e. still // actively moving through screening/interview/offer, not yet Hired/Rejected/DroppedOff. public int PendingApplicationCount { get; set; } // Requisitions closed (RequisitionStatus=7) within the report's date range, if supplied. // NOTE: TJOBREQUISITION has no dedicated ClosedDate column — this counts by MODIFIEDON as // a documented proxy for "when the requisition was closed" (the last write to a Closed // requisition is, in practice, the closing transition). A future // JobRequisitionBLL.CloseJobRequisition-style transition that stamps a real ClosedDate // would make this exact; flagged here rather than silently presented as precise. public int ClosedRequisitionCount { get; set; } } }