using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using RecruitmentDAL.DTO.JobOffer; using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace RecruitmentDAL.CustomeCode.JobOffer { public interface IJobOfferDAL { Task GetJobOffer(int JobOfferId, LoginDTO LoginDTO, CancellationToken ct); Task GetSelectListJobOffer(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, CancellationToken ct); Task SaveJobOffer(JobOfferDTO JobOfferDTO, LoginDTO LoginDTO, DbTransaction? transaction, CancellationToken ct); Task UpdateJobOffer(JobOfferDTO JobOfferDTO, LoginDTO LoginDTO, DbTransaction? transaction, CancellationToken ct); Task DeleteJobOffer(int JobOfferId, LoginDTO LoginDTO, CancellationToken ct); // Standalone, non-transactional follow-up update — see JobOfferQB.UPDATE_JOBOFFER_RESPONSE // doc comment. Called after the candidate accepts/declines an offer, independent of the // JobOffer entity's own ExecuteSaveAsync transaction. Task UpdateJobOfferResponse(int JobOfferId, byte OfferResponseStatus, DateTime OfferResponseDate, LoginDTO LoginDTO, CancellationToken ct); } }