using FLSDAL.DTO.Session; using GB5Shared.DTO.Framework.Login; namespace FLSDAL.CustomCode.Session; public interface IFlsSessionDAL { Task GetOpenContextAsync(int flsRespondentId, LoginDTO login, CancellationToken ct); Task GetActiveSessionIdAsync(int flsRespondentId, int stepNo, LoginDTO login, CancellationToken ct); Task GetMaxAttemptNoAsync(int flsRespondentId, int stepNo, LoginDTO login, CancellationToken ct); Task InsertSessionAsync( int flsSessionId, int flsRespondentId, int flsInstanceId, int groupId, int stepNo, int attemptNo, LoginDTO login, CancellationToken ct); Task MarkRespondentOpenedAsync(int flsRespondentId, LoginDTO login, CancellationToken ct); Task SaveDraftAsync(int flsSessionId, string draftDataJson, LoginDTO login, CancellationToken ct); Task SubmitAsync(int flsSessionId, int flsRespondentId, int groupId, LoginDTO login, CancellationToken ct); Task MarkExternalAsync(int flsRespondentId, string sourceReference, LoginDTO login, CancellationToken ct); Task GetByIdAsync(int flsSessionId, LoginDTO login, CancellationToken ct); Task LogResponseAuditAsync( int flsSessionId, int flsRespondentId, int flsInstanceId, int auditAction, string? ipAddress, string? userAgent, int performedBy, LoginDTO login, CancellationToken ct); Task> GetAuditTrailBySessionAsync(int flsSessionId, LoginDTO login, CancellationToken ct); Task> GetAuditTrailByRespondentAsync(int flsRespondentId, LoginDTO login, CancellationToken ct); }