using e_suite.Database.Audit;
using e_suite.Database.Core;
using e_suite.Database.Core.Tables.Sequences;
using eSuite.Core.Miscellaneous;

namespace e_suite.API.Common.repository;

public interface ISequenceManagerRepository : IRepository
{
    Task AddSequence(AuditUserDetails auditUserDetails, Sequence sequence, CancellationToken cancellationToken);
    Task EditSequence(AuditUserDetails auditUserDetails, Sequence sequence, CancellationToken cancellationToken);
    Task<Sequence?> GetSequenceById(IGeneralIdRef generalIdRef, CancellationToken cancellationToken);
    Task<Sequence?> GetSequenceByName(string Name, CancellationToken cancellationToken);
    IQueryable<Sequence> GetSequenceList();
}