IConferenceAbstractRepository.cs 992 B

123456789101112131415161718192021
  1. using EmbaseConferenceScheduler.Domain.Entities;
  2. namespace EmbaseConferenceScheduler.Domain.Interfaces;
  3. /// <summary>
  4. /// Repository contract for database operations related to conference abstract tracking.
  5. /// </summary>
  6. public interface IConferenceAbstractRepository
  7. {
  8. /// <summary>
  9. /// Returns all discarded conference abstract articles whose lot has NOT yet been
  10. /// dispatched (i.e. is absent from tblEmbaseConferenceDispatch).
  11. /// </summary>
  12. Task<IReadOnlyList<ConferenceAbstractArticle>> GetUnprocessedArticlesAsync(CancellationToken cancellationToken = default);
  13. /// <summary>Returns the next available integer sequence number for the ZIP name.</summary>
  14. Task<long> GetNextSequenceNumberAsync(CancellationToken cancellationToken = default);
  15. /// <summary>Bulk-inserts dispatch records for every lot included in a ZIP.</summary>
  16. Task SaveDispatchRecordsAsync(IEnumerable<DispatchRecord> records, CancellationToken cancellationToken = default);
  17. }