using FrameworkDAL.DTO.DataSync; using GB5Shared.DTO.Framework.Login; using GB5Shared.ResponseStandard; namespace FrameworkDAL.CustomCode.DataSync { public interface IDataSyncJobDAL { Task GetSyncJob(int syncJobId, LoginDTO login, CancellationToken ct); Task GetSyncJobList(int offset, int pageSize, LoginDTO login, CancellationToken ct); Task GetSelectListSyncJob(int firstNumber, int maxResult, LoginDTO login, CancellationToken ct); Task SaveSyncJob(SyncJobDTO dto, LoginDTO login, CancellationToken ct); Task UpdateSyncJob(SyncJobDTO dto, LoginDTO login, CancellationToken ct); Task> DeleteSyncJob(int syncJobId, LoginDTO login, CancellationToken ct); Task> GetEnabledJobsForScheduler(LoginDTO login, CancellationToken ct); // Returns rows affected: 0 = job already running (caller skips), 1 = lock acquired. Task LockSyncJobForRun(int syncJobId, LoginDTO login, CancellationToken ct); Task UpdateLastRun(int syncJobId, int runId, byte status, DateTime ranAt, LoginDTO login, CancellationToken ct); Task UpdateWatermarks(int syncJobId, DateTime insertedTill, DateTime updatedTill, DateTime deletedTill, LoginDTO login, CancellationToken ct); } }