using EmbaseConferenceScheduler.Domain.Entities;
namespace EmbaseConferenceScheduler.Domain.Interfaces;
///
/// Repository contract for database operations related to conference abstract tracking.
///
public interface IConferenceAbstractRepository
{
///
/// Returns all discarded conference abstract articles whose lot has NOT yet been
/// dispatched (i.e. is absent from tblEmbaseConferenceDispatch).
///
Task> GetUnprocessedArticlesAsync(CancellationToken cancellationToken = default);
/// Returns the next available integer sequence number for the ZIP name.
Task GetNextSequenceNumberAsync(CancellationToken cancellationToken = default);
/// Bulk-inserts dispatch records for every lot included in a ZIP.
Task SaveDispatchRecordsAsync(IEnumerable records, CancellationToken cancellationToken = default);
}