using System; namespace RecruitmentDAL.DTO.Reports { // Parsed/validated filter shape shared by every Recruitment Reports-family endpoint (Phase 5 of // the Recruitment build-out plan — see RecruitmentBLL.Reports.RecruitmentReportCriteriaParser for // the CriteriaDTO -> this mapping). Mirrors TMSDAL.DTO.Reports.TmsReportCriteria's shape/ // conventions exactly so the wire format (SectionCriteriaList -> AttributesCriteriaList -> // FieldName/FieldValue) behaves identically across modules. public class RecruitmentReportCriteria { // Recruiter-workload report: window for "requisitions closed in this range" (see // RecruiterWorkloadReportQB — TJOBREQUISITION has no dedicated ClosedDate column, so // MODIFIEDON is used as a documented proxy for the closed-on date). // HR/exec analytics report: window for "hires in this range" (TAPPLICATIONSTAGEHISTORY. // STAGEENTEREDON of the terminal/Passed stage-history row). // null = report decides its own default (no date filter — all-time). public DateTime? FromDate { get; set; } public DateTime? ToDate { get; set; } // Recruiter-workload report only — optional single-recruiter scope. -1 = every recruiter. public int AssignedRecruiterId { get; set; } = -1; } }