4f573da374
- ITransaction, IUnitOfWork in DAL.Abstract - EfTransactionAdapter, EfUnitOfWork<TDbContext>, NotificationUnitOfWork in DAL.EF - NotificationEfRepository<TEntity>: async-only base, fixed Exists (AnyAsync), fixed batch Add (AddRangeAsync), single SaveChangesAsync per operation - TemplateRepository, ProviderRepository, ProviderUsageRepository - ProviderUsageRepository.IncrementAsync uses atomic PostgreSQL upsert - ProviderRepository deserializes settings polymorphically via ProviderType discriminator Ref: IT-628 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
11 lines
359 B
C#
11 lines
359 B
C#
namespace HrynCo.NotificationService.DAL.Abstract;
|
|
|
|
public interface IUnitOfWork
|
|
{
|
|
Task<ITransaction> BeginTransactionAsync(CancellationToken cancellationToken = default);
|
|
ITransaction? GetCurrentTransaction();
|
|
|
|
Task ExecuteInTransactionAsync(Func<Task> action);
|
|
Task<TResult> ExecuteInTransactionAsync<TResult>(Func<Task<TResult>> action);
|
|
}
|