using GB5Shared.DTO.Framework.Login; using RecruitmentDAL.DTO.Referral; using System.Data.Common; using System.Threading; using System.Threading.Tasks; namespace RecruitmentDAL.CustomeCode.Referral { public interface IReferralDAL { Task GetReferral(int ReferralId, LoginDTO LoginDTO, CancellationToken ct); Task GetSelectListReferral(int ReferringEmployeeId, LoginDTO LoginDTO, CancellationToken ct); // Cross-check helper for ReferralBLL.MarkEligibleOnHireAsync (the ApplicationBLL "genuine // Hired" hook) — see ReferralQB.GET_LATEST_PENDING_REFERRAL_BY_CANDIDATE. Task GetLatestPendingReferralByCandidate(int CandidateId, LoginDTO LoginDTO, CancellationToken ct); // Transactional write overloads — called from BaseEntityAppService.ExecuteSaveAsync's // persistFunc so the save participates in the single pipeline transaction. Task SaveReferral(ReferralDTO ReferralDTO, LoginDTO LoginDTO, DbTransaction tx, CancellationToken ct); Task UpdateReferral(ReferralDTO ReferralDTO, LoginDTO LoginDTO, DbTransaction tx, CancellationToken ct); Task DeleteReferral(int ReferralId, LoginDTO LoginDTO, CancellationToken ct); } }