using Nop.Core.Domain.Shipping; using Nop.Core.Events; namespace Nop.Services.Shipping; /// /// Event publisher extensions /// public static class EventPublisherExtensions { /// /// Publishes the shipment sent event. /// /// The event publisher. /// The shipment. /// A task that represents the asynchronous operation public static async Task PublishShipmentSentAsync(this IEventPublisher eventPublisher, Shipment shipment) { await eventPublisher.PublishAsync(new ShipmentSentEvent(shipment)); } /// /// Publishes the shipment ready for pickup event. /// /// The event publisher. /// The shipment. /// A task that represents the asynchronous operation public static async Task PublishShipmentReadyForPickupAsync(this IEventPublisher eventPublisher, Shipment shipment) { await eventPublisher.PublishAsync(new ShipmentReadyForPickupEvent(shipment)); } /// /// Publishes the shipment delivered event. /// /// The event publisher. /// The shipment. /// A task that represents the asynchronous operation public static async Task PublishShipmentDeliveredAsync(this IEventPublisher eventPublisher, Shipment shipment) { await eventPublisher.PublishAsync(new ShipmentDeliveredEvent(shipment)); } }