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