using Nop.Core; using Nop.Core.Domain.Messages; namespace Nop.Services.Messages; /// /// Newsletter subscription service interface /// public partial interface INewsLetterSubscriptionService { /// /// Inserts a newsletter subscription /// /// NewsLetter subscription /// if set to true [publish subscription events]. /// A task that represents the asynchronous operation Task InsertNewsLetterSubscriptionAsync(NewsLetterSubscription newsLetterSubscription, bool publishSubscriptionEvents = true); /// /// Updates a newsletter subscription /// /// NewsLetter subscription /// if set to true [publish subscription events]. /// A task that represents the asynchronous operation Task UpdateNewsLetterSubscriptionAsync(NewsLetterSubscription newsLetterSubscription, bool publishSubscriptionEvents = true); /// /// Deletes a newsletter subscription /// /// NewsLetter subscription /// if set to true [publish subscription events]. /// A task that represents the asynchronous operation Task DeleteNewsLetterSubscriptionAsync(NewsLetterSubscription newsLetterSubscription, bool publishSubscriptionEvents = true); /// /// Gets a newsletter subscription by newsletter subscription identifier /// /// The newsletter subscription identifier /// /// A task that represents the asynchronous operation /// The task result contains the newsLetter subscription /// Task GetNewsLetterSubscriptionByIdAsync(int newsLetterSubscriptionId); /// /// Gets a newsletter subscription by newsletter subscription GUID /// /// The newsletter subscription GUID /// /// A task that represents the asynchronous operation /// The task result contains the newsLetter subscription /// Task GetNewsLetterSubscriptionByGuidAsync(Guid newsLetterSubscriptionGuid); /// /// Gets a newsletter subscription by email and store ID /// /// The newsletter subscription email /// Store identifier /// /// A task that represents the asynchronous operation /// The task result contains the newsLetter subscription /// Task GetNewsLetterSubscriptionByEmailAndStoreIdAsync(string email, int storeId); /// /// Gets the newsletter subscription list /// /// Email to search or string. Empty to load all records. /// Created date from (UTC); null to load all records /// Created date to (UTC); null to load all records /// Store identifier. 0 to load all records. /// Value indicating whether subscriber record should be active or not; null to load all records /// Customer role identifier. Used to filter subscribers by customer role. 0 to load all records. /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the newsLetterSubscription entities /// Task> GetAllNewsLetterSubscriptionsAsync(string email = null, DateTime? createdFromUtc = null, DateTime? createdToUtc = null, int storeId = 0, bool? isActive = null, int customerRoleId = 0, int pageIndex = 0, int pageSize = int.MaxValue); }