using Nop.Core; using Nop.Core.Domain.Messages; namespace Nop.Services.Messages; /// /// Queued email service /// public partial interface IQueuedEmailService { /// /// Inserts a queued email /// /// Queued email /// A task that represents the asynchronous operation Task InsertQueuedEmailAsync(QueuedEmail queuedEmail); /// /// Updates a queued email /// /// Queued email /// A task that represents the asynchronous operation Task UpdateQueuedEmailAsync(QueuedEmail queuedEmail); /// /// Deleted a queued email /// /// Queued email /// A task that represents the asynchronous operation Task DeleteQueuedEmailAsync(QueuedEmail queuedEmail); /// /// Deleted a queued emails /// /// Queued emails /// A task that represents the asynchronous operation Task DeleteQueuedEmailsAsync(IList queuedEmails); /// /// Gets a queued email by identifier /// /// Queued email identifier /// /// A task that represents the asynchronous operation /// The task result contains the queued email /// Task GetQueuedEmailByIdAsync(int queuedEmailId); /// /// Get queued emails by identifiers /// /// queued email identifiers /// /// A task that represents the asynchronous operation /// The task result contains the queued emails /// Task> GetQueuedEmailsByIdsAsync(int[] queuedEmailIds); /// /// Search queued emails /// /// From Email /// To Email /// Created date from (UTC); null to load all records /// Created date to (UTC); null to load all records /// A value indicating whether to load only not sent emails /// A value indicating whether to load only emails for ready to be sent /// Maximum send tries /// A value indicating whether we should sort queued email descending; otherwise, ascending. /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the queued emails /// Task> SearchEmailsAsync(string fromEmail, string toEmail, DateTime? createdFromUtc, DateTime? createdToUtc, bool loadNotSentItemsOnly, bool loadOnlyItemsToBeSent, int maxSendTries, bool loadNewest, int pageIndex = 0, int pageSize = int.MaxValue); /// /// Deletes already sent emails /// /// Created date from (UTC); null to load all records /// Created date to (UTC); null to load all records /// /// A task that represents the asynchronous operation /// The task result contains the number of deleted emails /// Task DeleteAlreadySentEmailsAsync(DateTime? createdFromUtc, DateTime? createdToUtc); /// /// Delete all queued emails /// /// A task that represents the asynchronous operation Task DeleteAllEmailsAsync(); }