feat:Initial commit

This commit is contained in:
elar1s
2025-09-25 22:21:41 +03:00
commit 02934b1fd9
35 changed files with 1267 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore.Storage;
using StoreService.Database.Entities;
namespace StoreService.Repositories;
/// <summary>
/// Unit of work pattern abstraction encapsulating repositories and transactions.
/// </summary>
public interface IUnitOfWork : IAsyncDisposable, IDisposable
{
#region Repositories
IGenericRepository<StoreCategory> StoreCategories { get; }
IGenericRepository<StoreItem> StoreItems { get; }
IGenericRepository<StoreDiscount> StoreDiscounts { get; }
IGenericRepository<StoreDiscountItem> StoreDiscountItems { get; }
IGenericRepository<StoreOrder> StoreOrders { get; }
IGenericRepository<StoreOrderItem> StoreOrderItems { get; }
IGenericRepository<StoreOrderItemDiscount> StoreOrderItemDiscounts { get; }
#endregion
#region Save
bool SaveChanges();
Task<bool> SaveChangesAsync(CancellationToken ct = default);
#endregion
#region Transactions
Task BeginTransactionAsync(CancellationToken ct = default);
Task CommitTransactionAsync(CancellationToken ct = default);
Task RollbackTransactionAsync(CancellationToken ct = default);
#endregion
}