Mango.Nop.Libraries/Mango.Nop.Data/Interfaces/IMgDbContextBase.cs

22 lines
874 B
C#

using Mango.Nop.Core.Loggers;
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Orders;
using Nop.Data;
using System.Transactions;
namespace Mango.Nop.Data.Interfaces;
public interface IMgDbContextBase //: IAcDbContextBase
{
ILogger Logger { get; init; }
INopDataProvider DataProvider { get; init; }
IRepository<Order> Orders { get; set; }
IRepository<Product> Products { get; set; }
bool Transaction(Func<TransactionScope, bool> callbackTransactionBody, bool throwException = false);
bool TransactionSafe(Func<TransactionScope, bool> callbackTransactionBody, bool throwException = false);
Task<bool> TransactionAsync(Func<TransactionScope, Task<bool>> callbackTransactionBody, bool throwException = false);
Task<bool> TransactionSafeAsync(Func<TransactionScope, Task<bool>> callbackTransactionBody, bool throwException = false);
}