672 lines
29 KiB
C#
672 lines
29 KiB
C#
using Nop.Core.Domain.Blogs;
|
|
using Nop.Core.Domain.Catalog;
|
|
using Nop.Core.Domain.Customers;
|
|
using Nop.Core.Domain.Forums;
|
|
using Nop.Core.Domain.Messages;
|
|
using Nop.Core.Domain.News;
|
|
using Nop.Core.Domain.Orders;
|
|
using Nop.Core.Domain.Shipping;
|
|
using Nop.Core.Domain.Vendors;
|
|
|
|
namespace Nop.Services.Messages;
|
|
|
|
/// <summary>
|
|
/// Workflow message service
|
|
/// </summary>
|
|
public partial interface IWorkflowMessageService
|
|
{
|
|
#region Customer workflow
|
|
|
|
/// <summary>
|
|
/// Sends 'New customer' notification message to a store owner
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendCustomerRegisteredStoreOwnerNotificationMessageAsync(Customer customer, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a welcome message to a customer
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendCustomerWelcomeMessageAsync(Customer customer, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an email validation message to a customer
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendCustomerEmailValidationMessageAsync(Customer customer, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an email re-validation message to a customer
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendCustomerEmailRevalidationMessageAsync(Customer customer, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends password recovery message to a customer
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendCustomerPasswordRecoveryMessageAsync(Customer customer, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends 'New request to delete customer' message to a store owner
|
|
/// </summary>
|
|
/// <param name="customer">Customer</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendDeleteCustomerRequestStoreOwnerNotificationAsync(Customer customer, int languageId);
|
|
|
|
#endregion
|
|
|
|
#region Order workflow
|
|
|
|
/// <summary>
|
|
/// Sends an order placed notification to a vendor
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="vendor">Vendor instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPlacedVendorNotificationAsync(Order order, Vendor vendor, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order placed notification to a store owner
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPlacedStoreOwnerNotificationAsync(Order order, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order placed notification to an affiliate
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPlacedAffiliateNotificationAsync(Order order, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order paid notification to a store owner
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPaidStoreOwnerNotificationAsync(Order order, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order paid notification to a customer
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="attachmentFilePath">Attachment file path</param>
|
|
/// <param name="attachmentFileName">Attachment file name. If specified, then this file name will be sent to a recipient. Otherwise, "AttachmentFilePath" name will be used.</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPaidCustomerNotificationAsync(Order order, int languageId,
|
|
string attachmentFilePath = null, string attachmentFileName = null);
|
|
|
|
/// <summary>
|
|
/// Sends an order paid notification to a vendor
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="vendor">Vendor instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPaidVendorNotificationAsync(Order order, Vendor vendor, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order paid notification to an affiliate
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPaidAffiliateNotificationAsync(Order order, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order placed notification to a customer
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="attachmentFilePath">Attachment file path</param>
|
|
/// <param name="attachmentFileName">Attachment file name. If specified, then this file name will be sent to a recipient. Otherwise, "AttachmentFilePath" name will be used.</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderPlacedCustomerNotificationAsync(Order order, int languageId,
|
|
string attachmentFilePath = null, string attachmentFileName = null);
|
|
|
|
/// <summary>
|
|
/// Sends a shipment sent notification to a customer
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendShipmentSentCustomerNotificationAsync(Shipment shipment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a shipment ready for pickup notification to a customer
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendShipmentReadyForPickupNotificationAsync(Shipment shipment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a shipment delivered notification to a customer
|
|
/// </summary>
|
|
/// <param name="shipment">Shipment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendShipmentDeliveredCustomerNotificationAsync(Shipment shipment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order processing notification to a customer
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="attachmentFilePath">Attachment file path</param>
|
|
/// <param name="attachmentFileName">Attachment file name. If specified, then this file name will be sent to a recipient. Otherwise, "AttachmentFilePath" name will be used.</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderProcessingCustomerNotificationAsync(Order order, int languageId,
|
|
string attachmentFilePath = null, string attachmentFileName = null);
|
|
|
|
/// <summary>
|
|
/// Sends an order completed notification to a customer
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="attachmentFilePath">Attachment file path</param>
|
|
/// <param name="attachmentFileName">Attachment file name. If specified, then this file name will be sent to a recipient. Otherwise, "AttachmentFilePath" name will be used.</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderCompletedCustomerNotificationAsync(Order order, int languageId,
|
|
string attachmentFilePath = null, string attachmentFileName = null);
|
|
|
|
/// <summary>
|
|
/// Sends an order cancelled notification to a customer
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderCancelledCustomerNotificationAsync(Order order, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order refunded notification to a store owner
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="refundedAmount">Amount refunded</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderRefundedStoreOwnerNotificationAsync(Order order, decimal refundedAmount, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends an order refunded notification to a customer
|
|
/// </summary>
|
|
/// <param name="order">Order instance</param>
|
|
/// <param name="refundedAmount">Amount refunded</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendOrderRefundedCustomerNotificationAsync(Order order, decimal refundedAmount, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a new order note added notification to a customer
|
|
/// </summary>
|
|
/// <param name="orderNote">Order note</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewOrderNoteAddedCustomerNotificationAsync(OrderNote orderNote, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a "Recurring payment cancelled" notification to a store owner
|
|
/// </summary>
|
|
/// <param name="recurringPayment">Recurring payment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendRecurringPaymentCancelledStoreOwnerNotificationAsync(RecurringPayment recurringPayment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a "Recurring payment cancelled" notification to a customer
|
|
/// </summary>
|
|
/// <param name="recurringPayment">Recurring payment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendRecurringPaymentCancelledCustomerNotificationAsync(RecurringPayment recurringPayment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a "Recurring payment failed" notification to a customer
|
|
/// </summary>
|
|
/// <param name="recurringPayment">Recurring payment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendRecurringPaymentFailedCustomerNotificationAsync(RecurringPayment recurringPayment, int languageId);
|
|
|
|
#endregion
|
|
|
|
#region Newsletter workflow
|
|
|
|
/// <summary>
|
|
/// Sends a newsletter subscription activation message
|
|
/// </summary>
|
|
/// <param name="subscription">Newsletter subscription</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewsLetterSubscriptionActivationMessageAsync(NewsLetterSubscription subscription);
|
|
|
|
/// <summary>
|
|
/// Sends a newsletter subscription deactivation message
|
|
/// </summary>
|
|
/// <param name="subscription">Newsletter subscription</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewsLetterSubscriptionDeactivationMessageAsync(NewsLetterSubscription subscription);
|
|
|
|
#endregion
|
|
|
|
#region Send a message to a friend
|
|
|
|
/// <summary>
|
|
/// Sends "email a friend" message
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="product">Product instance</param>
|
|
/// <param name="customerEmail">Customer's email</param>
|
|
/// <param name="friendsEmail">Friend's email</param>
|
|
/// <param name="personalMessage">Personal message</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendProductEmailAFriendMessageAsync(Customer customer, int languageId,
|
|
Product product, string customerEmail, string friendsEmail, string personalMessage);
|
|
|
|
/// <summary>
|
|
/// Sends wishlist "email a friend" message
|
|
/// </summary>
|
|
/// <param name="customer">Customer</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="customerEmail">Customer's email</param>
|
|
/// <param name="friendsEmail">Friend's email</param>
|
|
/// <param name="personalMessage">Personal message</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendWishlistEmailAFriendMessageAsync(Customer customer, int languageId,
|
|
string customerEmail, string friendsEmail, string personalMessage);
|
|
|
|
#endregion
|
|
|
|
#region Return requests
|
|
|
|
/// <summary>
|
|
/// Sends 'New Return Request' message to a store owner
|
|
/// </summary>
|
|
/// <param name="returnRequest">Return request</param>
|
|
/// <param name="orderItem">Order item</param>
|
|
/// <param name="order">Order</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewReturnRequestStoreOwnerNotificationAsync(ReturnRequest returnRequest, OrderItem orderItem, Order order, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends 'New Return Request' message to a customer
|
|
/// </summary>
|
|
/// <param name="returnRequest">Return request</param>
|
|
/// <param name="orderItem">Order item</param>
|
|
/// <param name="order">Order</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewReturnRequestCustomerNotificationAsync(ReturnRequest returnRequest, OrderItem orderItem, Order order);
|
|
|
|
/// <summary>
|
|
/// Sends 'Return Request status changed' message to a customer
|
|
/// </summary>
|
|
/// <param name="returnRequest">Return request</param>
|
|
/// <param name="orderItem">Order item</param>
|
|
/// <param name="order">Order</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendReturnRequestStatusChangedCustomerNotificationAsync(ReturnRequest returnRequest, OrderItem orderItem, Order order);
|
|
|
|
#endregion
|
|
|
|
#region Forum Notifications
|
|
|
|
/// <summary>
|
|
/// Sends a forum subscription message to a customer
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="forumTopic">Forum Topic</param>
|
|
/// <param name="forum">Forum</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewForumTopicMessageAsync(Customer customer, ForumTopic forumTopic, Forum forum, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a forum subscription message to a customer
|
|
/// </summary>
|
|
/// <param name="customer">Customer instance</param>
|
|
/// <param name="forumPost">Forum post</param>
|
|
/// <param name="forumTopic">Forum Topic</param>
|
|
/// <param name="forum">Forum</param>
|
|
/// <param name="friendlyForumTopicPageIndex">Friendly (starts with 1) forum topic page to use for URL generation</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewForumPostMessageAsync(Customer customer, ForumPost forumPost,
|
|
ForumTopic forumTopic, Forum forum, int friendlyForumTopicPageIndex, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a private message notification
|
|
/// </summary>
|
|
/// <param name="privateMessage">Private message</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendPrivateMessageNotificationAsync(PrivateMessage privateMessage, int languageId);
|
|
|
|
#endregion
|
|
|
|
#region Misc
|
|
|
|
/// <summary>
|
|
/// Sends 'New vendor account submitted' message to a store owner
|
|
/// </summary>
|
|
/// <param name="customer">Customer</param>
|
|
/// <param name="vendor">Vendor</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewVendorAccountApplyStoreOwnerNotificationAsync(Customer customer, Vendor vendor, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends 'Vendor information change' message to a store owner
|
|
/// </summary>
|
|
/// <param name="vendor">Vendor</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendVendorInformationChangeStoreOwnerNotificationAsync(Vendor vendor, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a product review notification message to a store owner
|
|
/// </summary>
|
|
/// <param name="productReview">Product review</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendProductReviewStoreOwnerNotificationMessageAsync(ProductReview productReview, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a product review reply notification message to a customer
|
|
/// </summary>
|
|
/// <param name="productReview">Product review</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendProductReviewReplyCustomerNotificationMessageAsync(ProductReview productReview, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a gift card notification
|
|
/// </summary>
|
|
/// <param name="giftCard">Gift card</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendGiftCardNotificationAsync(GiftCard giftCard, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a "quantity below" notification to a store owner
|
|
/// </summary>
|
|
/// <param name="product">Product</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendQuantityBelowStoreOwnerNotificationAsync(Product product, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a "quantity below" notification to a store owner
|
|
/// </summary>
|
|
/// <param name="combination">Attribute combination</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendQuantityBelowStoreOwnerNotificationAsync(ProductAttributeCombination combination, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a "new VAT submitted" notification to a store owner
|
|
/// </summary>
|
|
/// <param name="customer">Customer</param>
|
|
/// <param name="vatName">Received VAT name</param>
|
|
/// <param name="vatAddress">Received VAT address</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewVatSubmittedStoreOwnerNotificationAsync(Customer customer, string vatName, string vatAddress, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a blog comment notification message to a store owner
|
|
/// </summary>
|
|
/// <param name="blogComment">Blog comment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendBlogCommentStoreOwnerNotificationMessageAsync(BlogComment blogComment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a news comment notification message to a store owner
|
|
/// </summary>
|
|
/// <param name="newsComment">News comment</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendNewsCommentStoreOwnerNotificationMessageAsync(NewsComment newsComment, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends a 'Back in stock' notification message to a customer
|
|
/// </summary>
|
|
/// <param name="subscription">Subscription</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendBackInStockNotificationAsync(BackInStockSubscription subscription, int languageId);
|
|
|
|
/// <summary>
|
|
/// Sends "contact us" message
|
|
/// </summary>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="senderEmail">Sender email</param>
|
|
/// <param name="senderName">Sender name</param>
|
|
/// <param name="subject">Email subject. Pass null if you want a message template subject to be used.</param>
|
|
/// <param name="body">Email body</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendContactUsMessageAsync(int languageId, string senderEmail, string senderName, string subject, string body);
|
|
|
|
/// <summary>
|
|
/// Sends "contact vendor" message
|
|
/// </summary>
|
|
/// <param name="vendor">Vendor</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <param name="senderEmail">Sender email</param>
|
|
/// <param name="senderName">Sender name</param>
|
|
/// <param name="subject">Email subject. Pass null if you want a message template subject to be used.</param>
|
|
/// <param name="body">Email body</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<IList<int>> SendContactVendorMessageAsync(Vendor vendor, int languageId, string senderEmail, string senderName, string subject, string body);
|
|
|
|
/// <summary>
|
|
/// Sends a test email
|
|
/// </summary>
|
|
/// <param name="messageTemplateId">Message template identifier</param>
|
|
/// <param name="sendToEmail">Send to email</param>
|
|
/// <param name="tokens">Tokens</param>
|
|
/// <param name="languageId">Message language identifier</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<int> SendTestEmailAsync(int messageTemplateId, string sendToEmail, List<Token> tokens, int languageId);
|
|
|
|
#endregion
|
|
|
|
#region Common
|
|
|
|
/// <summary>
|
|
/// Send notification
|
|
/// </summary>
|
|
/// <param name="messageTemplate">Message template</param>
|
|
/// <param name="emailAccount">Email account</param>
|
|
/// <param name="languageId">Language identifier</param>
|
|
/// <param name="tokens">Tokens</param>
|
|
/// <param name="toEmailAddress">Recipient email address</param>
|
|
/// <param name="toName">Recipient name</param>
|
|
/// <param name="attachmentFilePath">Attachment file path</param>
|
|
/// <param name="attachmentFileName">Attachment file name</param>
|
|
/// <param name="replyToEmailAddress">"Reply to" email</param>
|
|
/// <param name="replyToName">"Reply to" name</param>
|
|
/// <param name="fromEmail">Sender email. If specified, then it overrides passed "emailAccount" details</param>
|
|
/// <param name="fromName">Sender name. If specified, then it overrides passed "emailAccount" details</param>
|
|
/// <param name="subject">Subject. If specified, then it overrides subject of a message template</param>
|
|
/// <returns>
|
|
/// A task that represents the asynchronous operation
|
|
/// The task result contains the queued email identifier
|
|
/// </returns>
|
|
Task<int> SendNotificationAsync(MessageTemplate messageTemplate,
|
|
EmailAccount emailAccount, int languageId, IList<Token> tokens,
|
|
string toEmailAddress, string toName,
|
|
string attachmentFilePath = null, string attachmentFileName = null,
|
|
string replyToEmailAddress = null, string replyToName = null,
|
|
string fromEmail = null, string fromName = null, string subject = null);
|
|
|
|
#endregion
|
|
} |