Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

ICustomerModelFactory.cs

using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Customers;
using Nop.Core.Domain.Orders;
using Nop.Web.Models.Customer;

namespace Nop.Web.Factories;

/// 
/// Represents the interface of the customer model factory
/// 
public partial interface ICustomerModelFactory
{
    /// 
    /// Prepare the customer info model
    /// 
    /// Customer info model
    /// Customer
    /// Whether to exclude populating of model properties from the entity
    /// Overridden customer attributes in XML format; pass null to use CustomCustomerAttributes of customer
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the customer info model
    /// 
    Task PrepareCustomerInfoModelAsync(CustomerInfoModel model, Customer customer,
        bool excludeProperties, string overrideCustomCustomerAttributesXml = "");

    /// 
    /// Prepare the customer register model
    /// 
    /// Customer register model
    /// Whether to exclude populating of model properties from the entity
    /// Overridden customer attributes in XML format; pass null to use CustomCustomerAttributes of customer
    /// Whether to populate model properties by default values
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the customer register model
    /// 
    Task PrepareRegisterModelAsync(RegisterModel model, bool excludeProperties,
        string overrideCustomCustomerAttributesXml = "", bool setDefaultValues = false);

    /// 
    /// Prepare the login model
    /// 
    /// Whether to checkout as guest is enabled
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the login model
    /// 
    Task PrepareLoginModelAsync(bool? checkoutAsGuest);

    /// 
    /// Prepare the password recovery model
    /// 
    /// Password recovery model
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the password recovery model
    /// 
    Task PreparePasswordRecoveryModelAsync(PasswordRecoveryModel model);

    /// 
    /// Prepare the register result model
    /// 
    /// Value of UserRegistrationType enum
    /// URL to redirect
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the register result model
    /// 
    Task PrepareRegisterResultModelAsync(int resultId, string returnUrl);

    /// 
    /// Prepare the customer navigation model
    /// 
    /// Identifier of the selected tab
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the customer navigation model
    /// 
    Task PrepareCustomerNavigationModelAsync(int selectedTabId = 0);

    /// 
    /// Prepare the customer address list model
    /// 
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the customer address list model  
    /// 
    Task PrepareCustomerAddressListModelAsync();

    /// 
    /// Prepare the customer downloadable products model
    /// 
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the customer downloadable products model
    /// 
    Task PrepareCustomerDownloadableProductsModelAsync();

    /// 
    /// Prepare the user agreement model
    /// 
    /// Order item
    /// Product
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the user agreement model
    /// 
    Task PrepareUserAgreementModelAsync(OrderItem orderItem, Product product);

    /// 
    /// Prepare the change password model
    /// 
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the change password model
    /// 
    Task PrepareChangePasswordModelAsync();

    /// 
    /// Prepare the customer avatar model
    /// 
    /// Customer avatar model
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the customer avatar model
    /// 
    Task PrepareCustomerAvatarModelAsync(CustomerAvatarModel model);

    /// 
    /// Prepare the GDPR tools model
    /// 
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the gDPR tools model
    /// 
    Task PrepareGdprToolsModelAsync();

    /// 
    /// Prepare the check gift card balance model
    /// 
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the check gift card balance model
    /// 
    Task PrepareCheckGiftCardBalanceModelAsync();

    /// 
    /// Prepare the multi-factor authentication model
    /// 
    /// Multi-factor authentication model
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the multi-factor authentication model
    /// 
    Task PrepareMultiFactorAuthenticationModelAsync(MultiFactorAuthenticationModel model);

    /// 
    /// Prepare the multi-factor provider model
    /// 
    /// Multi-factor provider model
    /// Multi-factor provider system name
    /// Is login page
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the multi-factor authentication model
    /// 
    Task PrepareMultiFactorAuthenticationProviderModelAsync(MultiFactorAuthenticationProviderModel providerModel, string sysName, bool isLogin = false);

    /// 
    /// Prepare the custom customer attribute models
    /// 
    /// Customer
    /// Overridden customer attributes in XML format; pass null to use CustomCustomerAttributes of customer
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the list of the customer attribute model
    /// 
    Task> PrepareCustomCustomerAttributesAsync(Customer customer, string overrideAttributesXml = "");
}