using Nop.Core; using Nop.Core.Domain.Catalog; namespace Nop.Services.Catalog; /// /// Back in stock subscription service interface /// public partial interface IBackInStockSubscriptionService { /// /// Delete a back in stock subscription /// /// Subscription /// A task that represents the asynchronous operation Task DeleteSubscriptionAsync(BackInStockSubscription subscription); /// /// Gets all subscriptions /// /// Customer identifier /// Store identifier; pass 0 to load all records /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the subscriptions /// Task> GetAllSubscriptionsByCustomerIdAsync(int customerId, int storeId = 0, int pageIndex = 0, int pageSize = int.MaxValue); /// /// Gets all subscriptions /// /// Customer id /// Product identifier /// Store identifier /// /// A task that represents the asynchronous operation /// The task result contains the subscriptions /// Task FindSubscriptionAsync(int customerId, int productId, int storeId); /// /// Gets a subscription /// /// Subscription identifier /// /// A task that represents the asynchronous operation /// The task result contains the subscription /// Task GetSubscriptionByIdAsync(int subscriptionId); /// /// Inserts subscription /// /// Subscription /// A task that represents the asynchronous operation Task InsertSubscriptionAsync(BackInStockSubscription subscription); /// /// Send notification to subscribers /// /// Product /// /// A task that represents the asynchronous operation /// The task result contains the number of sent email /// Task SendNotificationsToSubscribersAsync(Product product); /// /// Gets all subscriptions /// /// Product identifier /// Store identifier; pass 0 to load all records /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the subscriptions /// Task> GetAllSubscriptionsByProductIdAsync(int productId, int storeId = 0, int pageIndex = 0, int pageSize = int.MaxValue); }