using Nop.Core.Domain.Common; using Nop.Core.Domain.Customers; using Nop.Web.Areas.Admin.Models.Customers; namespace Nop.Web.Areas.Admin.Factories; /// /// Represents the customer model factory /// public partial interface ICustomerModelFactory { /// /// Prepare customer search model /// /// Customer search model /// /// A task that represents the asynchronous operation /// The task result contains the customer search model /// Task PrepareCustomerSearchModelAsync(CustomerSearchModel searchModel); /// /// Prepare paged customer list model /// /// Customer search model /// /// A task that represents the asynchronous operation /// The task result contains the customer list model /// Task PrepareCustomerListModelAsync(CustomerSearchModel searchModel); /// /// Prepare customer model /// /// Customer model /// Customer /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the customer model /// Task PrepareCustomerModelAsync(CustomerModel model, Customer customer, bool excludeProperties = false); /// /// Prepare paged reward points list model /// /// Reward points search model /// Customer /// /// A task that represents the asynchronous operation /// The task result contains the reward points list model /// Task PrepareRewardPointsListModelAsync(CustomerRewardPointsSearchModel searchModel, Customer customer); /// /// Prepare paged customer address list model /// /// Customer address search model /// Customer /// /// A task that represents the asynchronous operation /// The task result contains the customer address list model /// Task PrepareCustomerAddressListModelAsync(CustomerAddressSearchModel searchModel, Customer customer); /// /// Prepare customer address model /// /// Customer address model /// Customer /// Address /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the customer address model /// Task PrepareCustomerAddressModelAsync(CustomerAddressModel model, Customer customer, Address address, bool excludeProperties = false); /// /// Prepare paged customer order list model /// /// Customer order search model /// Customer /// /// A task that represents the asynchronous operation /// The task result contains the customer order list model /// Task PrepareCustomerOrderListModelAsync(CustomerOrderSearchModel searchModel, Customer customer); /// /// Prepare paged customer shopping cart list model /// /// Customer shopping cart search model /// Customer /// /// A task that represents the asynchronous operation /// The task result contains the customer shopping cart list model /// Task PrepareCustomerShoppingCartListModelAsync(CustomerShoppingCartSearchModel searchModel, Customer customer); /// /// Prepare paged customer activity log list model /// /// Customer activity log search model /// Customer /// /// A task that represents the asynchronous operation /// The task result contains the customer activity log list model /// Task PrepareCustomerActivityLogListModelAsync(CustomerActivityLogSearchModel searchModel, Customer customer); /// /// Prepare paged customer back in stock subscriptions list model /// /// Customer back in stock subscriptions search model /// Customer /// /// A task that represents the asynchronous operation /// The task result contains the customer back in stock subscriptions list model /// Task PrepareCustomerBackInStockSubscriptionListModelAsync( CustomerBackInStockSubscriptionSearchModel searchModel, Customer customer); /// /// Prepare online customer search model /// /// Online customer search model /// /// A task that represents the asynchronous operation /// The task result contains the online customer search model /// Task PrepareOnlineCustomerSearchModelAsync(OnlineCustomerSearchModel searchModel); /// /// Prepare paged online customer list model /// /// Online customer search model /// /// A task that represents the asynchronous operation /// The task result contains the online customer list model /// Task PrepareOnlineCustomerListModelAsync(OnlineCustomerSearchModel searchModel); /// /// Prepare GDPR request (log) search model /// /// GDPR request search model /// /// A task that represents the asynchronous operation /// The task result contains the gDPR request search model /// Task PrepareGdprLogSearchModelAsync(GdprLogSearchModel searchModel); /// /// Prepare paged GDPR request list model /// /// GDPR request search model /// /// A task that represents the asynchronous operation /// The task result contains the gDPR request list model /// Task PrepareGdprLogListModelAsync(GdprLogSearchModel searchModel); }