using FLSDAL.DTO.Respondent; using GB5Shared.DTO.Framework.Login; namespace FLSDAL.CustomCode.Respondent; public interface IFlsRespondentDAL { // respondentIds must be pre-allocated (one per req.Respondents entry, same order). Returns the // DB-generated AccessToken per inserted row (via the INSERT's OUTPUT clause), same order as input. Task> AddRespondentsAsync( int flsInstanceId, int groupId, int stepNo, List respondents, List respondentIds, LoginDTO login, CancellationToken ct); Task GetByTokenAsync(Guid accessToken, LoginDTO login, CancellationToken ct); Task> GetByInstanceAsync( int flsInstanceId, int? groupId, int? statusFilter, int pageNo, int pageSize, LoginDTO login, CancellationToken ct); Task GetByInstanceCountAsync( int flsInstanceId, int? groupId, int? statusFilter, LoginDTO login, CancellationToken ct); Task> GetPendingFormsAsync( int respondentType, int respondentRefId, LoginDTO login, CancellationToken ct); Task NudgeAsync(int flsRespondentId, LoginDTO login, CancellationToken ct); Task OptOutAsync(int flsRespondentId, LoginDTO login, CancellationToken ct); Task GetByIdAsync(int flsRespondentId, LoginDTO login, CancellationToken ct); }