using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using RecruitmentDAL.DTO.JobProfileLibrary; using System.Data.Common; using System.Threading; using System.Threading.Tasks; namespace RecruitmentDAL.CustomeCode.JobProfileLibrary { public interface IJobProfileLibraryDAL { #region Get Task GetJobProfileLibrary(int JobProfileLibraryId, LoginDTO LoginDTO, CancellationToken ct); #endregion #region Select List Task GetSelectListJobProfileLibrary(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, CancellationToken ct); #endregion #region Save // Called from BaseEntityAppService.ExecuteSaveAsync's persistFunc — must run on the // pipeline's own transaction (tx) so validation/workflow/event-publish/outbox all commit // or roll back atomically with the insert. JOBPROFILELIBRARYID is pre-allocated via // AutoNumber before this call, so this returns rows-affected, not a generated id. Task SaveJobProfileLibrary(JobProfileLibraryDTO JobProfileLibraryDTO, LoginDTO LoginDTO, DbTransaction transaction, CancellationToken ct); #endregion #region Update Task UpdateJobProfileLibrary(JobProfileLibraryDTO JobProfileLibraryDTO, LoginDTO LoginDTO, DbTransaction transaction, CancellationToken ct); #endregion #region Delete // Soft delete (STATUS = 2) — participates in the caller's ExecuteSaveAsync transaction. Task DeleteJobProfileLibrary(int JobProfileLibraryId, LoginDTO LoginDTO, DbTransaction transaction, CancellationToken ct); #endregion } }