6dcc911fc2
- Rename Template -> EmailTemplate, Provider -> EmailChannel, ProviderSettings -> EmailChannelSettings, ProviderType -> EmailChannelType, ProviderUsage -> EmailChannelUsage throughout all layers - Add Undefined = 0 to EmailChannelType enum for safe default handling - Remove SaveChangesAsync from EfRepository methods — repositories now only stage changes - Add SaveChangesAsync to IUnitOfWork and EfUnitOfWork - Add TransactionBehavior MediatR pipeline: wraps every handler in a transaction, saves and commits on success, rolls back on exception - Add MediatR package reference to Services project Ref: IT-628 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
12 lines
433 B
C#
12 lines
433 B
C#
namespace HrynCo.NotificationService.DAL.Abstract;
|
|
|
|
public interface IUnitOfWork
|
|
{
|
|
Task SaveChangesAsync(CancellationToken cancellationToken = default);
|
|
Task<ITransaction> BeginTransactionAsync(CancellationToken cancellationToken = default);
|
|
ITransaction? GetCurrentTransaction();
|
|
|
|
Task ExecuteInTransactionAsync(Func<Task> action);
|
|
Task<TResult> ExecuteInTransactionAsync<TResult>(Func<Task<TResult>> action);
|
|
}
|