22 lines
1.0 KiB
C#
22 lines
1.0 KiB
C#
using Imprink.Domain.Repositories;
|
|
|
|
namespace Imprink.Application;
|
|
|
|
public interface IUnitOfWork
|
|
{
|
|
public IProductRepository ProductRepository { get; }
|
|
public ICategoryRepository CategoryRepository { get; }
|
|
public IProductVariantRepository ProductVariantRepository { get; }
|
|
public IUserRepository UserRepository { get; }
|
|
public IUserRoleRepository UserRoleRepository { get; }
|
|
public IRoleRepository RoleRepository { get; }
|
|
public IOrderRepository OrderRepository { get; }
|
|
public IOrderItemRepository OrderItemRepository { get; }
|
|
|
|
Task SaveAsync(CancellationToken cancellationToken = default);
|
|
Task BeginTransactionAsync(CancellationToken cancellationToken = default);
|
|
Task CommitTransactionAsync(CancellationToken cancellationToken = default);
|
|
Task RollbackTransactionAsync(CancellationToken cancellationToken = default);
|
|
Task<T> TransactAsync<T>(Func<Task<T>> operation, CancellationToken cancellationToken = default);
|
|
Task TransactAsync(Func<Task> operation, CancellationToken cancellationToken = default);
|
|
} |