using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using RecruitmentDAL.DTO.FlsBridge; using System.Data.Common; using System.Threading; using System.Threading.Tasks; namespace RecruitmentDAL.CustomeCode.FlsBridge { public interface IRecruitmentFlsActionDAL { Task GetRecruitmentFlsAction(int RecruitmentFlsActionId, LoginDTO LoginDTO, CancellationToken ct); Task GetSelectListRecruitmentFlsAction(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, CancellationToken ct); // Transactional write overloads — called from BaseEntityAppService.ExecuteSaveAsync's // persistFunc so the save participates in the single pipeline transaction. Task SaveRecruitmentFlsAction(RecruitmentFlsActionDTO RecruitmentFlsActionDTO, LoginDTO LoginDTO, DbTransaction tx, CancellationToken ct); Task UpdateRecruitmentFlsAction(RecruitmentFlsActionDTO RecruitmentFlsActionDTO, LoginDTO LoginDTO, DbTransaction tx, CancellationToken ct); Task DeleteRecruitmentFlsAction(int RecruitmentFlsActionId, LoginDTO LoginDTO, CancellationToken ct); // Cross-tenant, pre-authentication lookup by the FLS respondent id a token resolved to // — used by RecruitmentFlsBridgeBLL.GetActionAsync/SubmitActionAsync, mirroring // AssessmentFlsBridgeDAL.GetBridgeByRespondentId's identical pattern. Task GetRecruitmentFlsActionByRespondentId(int FlsRespondentId, LoginDTO LoginDTO, CancellationToken ct); // ── Coordinator natural-key lookups (no separate coordinator table — see migration // header for rationale) ── Task ResolveFormTemplateIdByCode(string FormTemplateCode, LoginDTO LoginDTO, CancellationToken ct); Task ResolveModuleIdByCode(string ModuleCode, LoginDTO LoginDTO, CancellationToken ct); Task ResolveRegistrationIdByCode(string RegistrationCode, LoginDTO LoginDTO, CancellationToken ct); Task ResolveInstanceIdByCode(string InstanceCode, int FlsRegistrationId, LoginDTO LoginDTO, CancellationToken ct); Task ResolveGroupIdByCode(string GroupCode, int FlsInstanceId, LoginDTO LoginDTO, CancellationToken ct); Task InsertFlsInstanceOpen(int FlsInstanceId, int FlsRegistrationId, string InstanceCode, string InstanceName, LoginDTO LoginDTO, CancellationToken ct); Task InsertFlsInstanceGroup(int GroupId, int FlsInstanceId, string GroupCode, string GroupName, LoginDTO LoginDTO, CancellationToken ct); } }