using e_suite.API.Common.models; using e_suite.Database.Audit; using e_suite.Utilities.Pagination; using eSuite.Core.Miscellaneous; namespace e_suite.API.Common; public interface IFormsManager { Task CreateFormTemplateAsync(AuditUserDetails auditUserDetails, CreateFormTemplate createFormTemplate, CancellationToken cancellationToken); Task EditFormTemplateAsync(AuditUserDetails auditUserDetails, EditFormTemplate editFormTemplate, CancellationToken cancellationToken); Task GetFormTemplateAsync(IGeneralIdRef generalIdRef, CancellationToken cancellationToken); Task> GetFormTemplatesAsync(Paging paging, CancellationToken cancellationToken); Task DeleteFormTemplateAsync(AuditUserDetails auditUserDetails, IGeneralIdRef generalIdRef, CancellationToken cancellationToken); Task CreateFormInstanceAsync(AuditUserDetails auditUserDetails, CreateFormInstance createFormInstance, CancellationToken cancellationToken); Task CreateFormInstancesAsync(AuditUserDetails auditUserDetails, IEnumerable createFormInstance, CancellationToken cancellationToken); Task GetFormInstanceAsync(GeneralIdRef generalIdRef, CancellationToken cancellationToken); Task> GetFormInstanceAsync(IEnumerable generalIdRefs, CancellationToken cancellationToken); Task EditFormInstanceAsync(AuditUserDetails auditUserDetails, EditFormInstance editFormInstance, CancellationToken cancellationToken); Task EditFormInstanceAsync(AuditUserDetails auditUserDetails, IEnumerable editFormInstances, CancellationToken cancellationToken); }