using GB5Shared.DTO.Framework.Login; using RecruitmentDAL.DTO.Career; using System.Threading; using System.Threading.Tasks; namespace RecruitmentDAL.CustomeCode.Career { public interface ICareerDAL { // Public career-site listing — Published+Active requisitions only, for the tenant. Paged // via QueryPagedAsync (see CareerQB.GET_PUBLISHED_JOBS for the TotalCount caveat, same as // CandidateQB.GET_SELECTLIST_CANDIDATE). Task GetPublishedJobs(int FirstNumber, int MaxResult, LoginDTO LoginDTO, CancellationToken ct); // Single published job's public detail — JSON "null" when the id doesn't resolve to a // Published+Active requisition for this tenant (unknown id and "exists but not // published" are indistinguishable by design — see CareerQB.GET_PUBLISHED_JOB_DETAIL). Task GetPublishedJobDetail(int JobRequisitionId, LoginDTO LoginDTO, CancellationToken ct); // Internal-only lookup for the public apply flow — see // CareerQB.GET_PUBLISHED_REQUISITION_FOR_APPLY / PublishedRequisitionForApplyDTO. // Returns null when the id is not a genuine Published+Active apply target. Task GetPublishedRequisitionForApply(int JobRequisitionId, LoginDTO LoginDTO, CancellationToken ct); } }