diff --git a/Mango.Nop.Core/Interfaces/IMgDbContextBase.cs b/Mango.Nop.Core/Interfaces/IMgDbContextBase.cs index 3deec67..9458483 100644 --- a/Mango.Nop.Core/Interfaces/IMgDbContextBase.cs +++ b/Mango.Nop.Core/Interfaces/IMgDbContextBase.cs @@ -1,5 +1,6 @@ using Mango.Nop.Core.Loggers; using Nop.Core.Domain.Catalog; +using Nop.Core.Domain.Orders; using Nop.Data; using System.Transactions; @@ -10,6 +11,7 @@ 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); diff --git a/Mango.Nop.Core/Repositories/MgDbContextBase.cs b/Mango.Nop.Core/Repositories/MgDbContextBase.cs index b34b799..c55f111 100644 --- a/Mango.Nop.Core/Repositories/MgDbContextBase.cs +++ b/Mango.Nop.Core/Repositories/MgDbContextBase.cs @@ -8,6 +8,7 @@ using Mango.Nop.Core.Loggers; using Mango.Nop.Services; using Nop.Core.Caching; using Nop.Core.Domain.Catalog; +using Nop.Core.Domain.Orders; using Nop.Data; namespace Mango.Nop.Core.Repositories; @@ -24,10 +25,14 @@ public abstract class MgDbContextBase : IMgDbContextBase public ILogger Logger { get; init; } public INopDataProvider DataProvider { get; init; } + public IRepository Orders { get; set; } + public IRepository OrderItems { get; set; } + public IRepository Products { get; set; } + //public IHttpContextAccessor HttpContextAccessor { get; init; } - public MgDbContextBase(IRepository productRepository, INopDataProvider dataProvider, IMgLockService lockService, ILogger logger) + public MgDbContextBase(IRepository productRepository, IRepository orderRepository, IRepository orderItemRepository, INopDataProvider dataProvider, IMgLockService lockService, ILogger logger) { LockService = lockService; @@ -35,6 +40,9 @@ public abstract class MgDbContextBase : IMgDbContextBase DataProvider = dataProvider; Products = productRepository; + + Orders = orderRepository; + OrderItems = orderItemRepository; } private static TransactionScope CreateTransactionScope(TransactionScopeOption transactionScopeOption = TransactionScopeOption.Required) diff --git a/Mango.Nop.Services/MgEventConsumer.cs b/Mango.Nop.Services/MgEventConsumerBase.cs similarity index 91% rename from Mango.Nop.Services/MgEventConsumer.cs rename to Mango.Nop.Services/MgEventConsumerBase.cs index 47b1869..ba55dae 100644 --- a/Mango.Nop.Services/MgEventConsumer.cs +++ b/Mango.Nop.Services/MgEventConsumerBase.cs @@ -15,7 +15,7 @@ namespace Mango.Nop.Services; /// /// Represents plugin event consumer /// -public abstract class MgEventConsumer(IMgDbContextBase ctx, IHttpContextAccessor httpContextAccessor, IEnumerable logWriters) : +public abstract class MgEventConsumerBase(IMgDbContextBase ctx, IHttpContextAccessor httpContextAccessor, IEnumerable logWriters) : IConsumer>, IConsumer>, IConsumer, @@ -28,7 +28,7 @@ public abstract class MgEventConsumer(IMgDbContextBase ctx, IHttpContextAccessor { #region Fields - protected ILogger Logger { get; } = new Logger(logWriters.ToArray()); + protected ILogger Logger { get; } = new Logger(logWriters.ToArray()); protected readonly IHttpContextAccessor HttpContextAccessor = httpContextAccessor; #endregion diff --git a/Mango.Nop.Services/MgLockService.cs b/Mango.Nop.Services/MgLockService.cs deleted file mode 100644 index a5fc9d2..0000000 --- a/Mango.Nop.Services/MgLockService.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Mango.Nop.Services; - -public abstract class MgLockService : IMgLockService -{ - public SemaphoreSlim SemaphoreSlim { get; protected init; } - - protected MgLockService() : this(new SemaphoreSlim(1)) - { - } - - protected MgLockService(SemaphoreSlim semaphoreSlim) - { - SemaphoreSlim = semaphoreSlim; - } -} \ No newline at end of file diff --git a/Mango.Nop.Services/MgLockServiceBase.cs b/Mango.Nop.Services/MgLockServiceBase.cs new file mode 100644 index 0000000..29316a7 --- /dev/null +++ b/Mango.Nop.Services/MgLockServiceBase.cs @@ -0,0 +1,15 @@ +namespace Mango.Nop.Services; + +public abstract class MgLockServiceBase : IMgLockService +{ + public SemaphoreSlim SemaphoreSlim { get; protected init; } + + protected MgLockServiceBase() : this(new SemaphoreSlim(1)) + { + } + + protected MgLockServiceBase(SemaphoreSlim semaphoreSlim) + { + SemaphoreSlim = semaphoreSlim; + } +} \ No newline at end of file diff --git a/Mango.Nop.Services/MgSessionItem.cs b/Mango.Nop.Services/MgSessionItemBase.cs similarity index 72% rename from Mango.Nop.Services/MgSessionItem.cs rename to Mango.Nop.Services/MgSessionItemBase.cs index dd1bc1d..75c509f 100644 --- a/Mango.Nop.Services/MgSessionItem.cs +++ b/Mango.Nop.Services/MgSessionItemBase.cs @@ -1,6 +1,6 @@ namespace Mango.Nop.Services; -public abstract class MgSessionItem(string sessionKey) : IMgSessionItem +public abstract class MgSessionItemBase(string sessionKey) : IMgSessionItem { public string SessionId { get; protected set; } = sessionKey; public string? SignaRConnectionId { get; set; } diff --git a/Mango.Nop.Services/MgSessionService.cs b/Mango.Nop.Services/MgSessionServiceBase.cs similarity index 93% rename from Mango.Nop.Services/MgSessionService.cs rename to Mango.Nop.Services/MgSessionServiceBase.cs index 06968f7..64944b7 100644 --- a/Mango.Nop.Services/MgSessionService.cs +++ b/Mango.Nop.Services/MgSessionServiceBase.cs @@ -3,7 +3,7 @@ using AyCode.Utils.Extensions; namespace Mango.Nop.Services; -public abstract class MgSessionService : IMgSessionService where TSessionItem : class, IMgSessionItem +public abstract class MgSessionServiceBase : IMgSessionService where TSessionItem : class, IMgSessionItem { protected ConcurrentDictionary Sessions { get; } = new();