Mango.Nop.Libraries/Mango.Nop.Services/MgEventConsumer.cs

52 lines
1.5 KiB
C#

using AyCode.Core.Loggers;
using Mango.Nop.Core.Loggers;
using Microsoft.AspNetCore.Http;
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Customers;
using Nop.Core.Domain.Orders;
using Nop.Core.Events;
using Nop.Services.Events;
using Nop.Web.Framework.Events;
namespace Mango.Nop.Services;
/// <summary>
/// Represents plugin event consumer
/// </summary>
public class MgEventConsumer(IHttpContextAccessor httpContextAccessor, IEnumerable<IAcLogWriterBase> logWriters) :
IConsumer<EntityUpdatedEvent<Product>>,
IConsumer<CustomerRegisteredEvent>,
IConsumer<OrderPlacedEvent>,
IConsumer<PageRenderingEvent>,
IConsumer<ProductSearchEvent>
//IConsumer<EntityInsertedEvent<ShoppingCartItem>>,
//IConsumer<MessageTokensAddedEvent<Token>>,
//IConsumer<ModelPreparedEvent<BaseNopModel>>
{
#region Fields
protected ILogger Logger { get; } = new Logger<MgEventConsumer>(logWriters.ToArray());
private readonly IHttpContextAccessor _httpContextAccessor = httpContextAccessor;
#endregion
public virtual async Task HandleEventAsync(EntityUpdatedEvent<Product> eventMessage)
{
}
public virtual async Task HandleEventAsync(CustomerRegisteredEvent eventMessage)
{
}
public virtual async Task HandleEventAsync(OrderPlacedEvent eventMessage)
{
}
public virtual async Task HandleEventAsync(PageRenderingEvent eventMessage)
{
}
public virtual async Task HandleEventAsync(ProductSearchEvent eventMessage)
{
}
}