Files
InServiceQue/InServiceQue.Core/Repositories/ITaskRepository.cs

20 lines
774 B
C#

using System.Data;
using InServiceQue.Core.Models;
namespace InServiceQue.Core.Repositories;
public interface ITaskRepository: IDisposable
{
void Insert(QueueTask task);
Task InsertAsync(QueueTask task);
IDbTransaction StartTransaction();
Task<IDbTransaction> StartTransactionAsync();
void CommitTransaction(IDbTransaction tx);
Task CommitTransactionAsync(IDbTransaction tx);
void RollbackTransaction(IDbTransaction tx);
Task RollbackTransactionAsync(IDbTransaction tx);
QueueTask? GetNextTask(IDbTransaction tx, string? taskType = null);
Task<QueueTask?> GetNextTaskAsync(IDbTransaction tx, string? taskType = null);
void SaveTask(QueueTask task, IDbTransaction tx);
Task SaveTaskAsync(QueueTask task, IDbTransaction tx);
}