Try your search with a different keyword or use * as a wildcard.
using Nop.Core.Domain.Catalog;
using Nop.Web.Areas.Admin.Models.Catalog;
namespace Nop.Web.Areas.Admin.Factories;
///
/// Represents the product model factory
///
public partial interface IProductModelFactory
{
///
/// Prepare product search model
///
/// Product search model
///
/// A task that represents the asynchronous operation
/// The task result contains the product search model
///
Task PrepareProductSearchModelAsync(ProductSearchModel searchModel);
///
/// Prepare paged product list model
///
/// Product search model
///
/// A task that represents the asynchronous operation
/// The task result contains the product list model
///
Task PrepareProductListModelAsync(ProductSearchModel searchModel);
///
/// Prepare product model
///
/// Product model
/// Product
/// Whether to exclude populating of some properties of model
///
/// A task that represents the asynchronous operation
/// The task result contains the product model
///
Task PrepareProductModelAsync(ProductModel model, Product product, bool excludeProperties = false);
///
/// Prepare required product search model to add to the product
///
/// Required product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the required product search model to add to the product
///
Task PrepareAddRequiredProductSearchModelAsync(AddRequiredProductSearchModel searchModel);
///
/// Prepare required product list model to add to the product
///
/// Required product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the required product list model to add to the product
///
Task PrepareAddRequiredProductListModelAsync(AddRequiredProductSearchModel searchModel);
///
/// Prepare paged related product list model
///
/// Related product search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the related product list model
///
Task PrepareRelatedProductListModelAsync(RelatedProductSearchModel searchModel, Product product);
///
/// Prepare related product search model to add to the product
///
/// Related product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the related product search model to add to the product
///
Task PrepareAddRelatedProductSearchModelAsync(AddRelatedProductSearchModel searchModel);
///
/// Prepare paged related product list model to add to the product
///
/// Related product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the related product list model to add to the product
///
Task PrepareAddRelatedProductListModelAsync(AddRelatedProductSearchModel searchModel);
///
/// Prepare paged cross-sell product list model
///
/// Cross-sell product search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the cross-sell product list model
///
Task PrepareCrossSellProductListModelAsync(CrossSellProductSearchModel searchModel, Product product);
///
/// Prepare cross-sell product search model to add to the product
///
/// Cross-sell product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the cross-sell product search model to add to the product
///
Task PrepareAddCrossSellProductSearchModelAsync(AddCrossSellProductSearchModel searchModel);
///
/// Prepare paged cross-sell product list model to add to the product
///
/// Cross-sell product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the cross-sell product list model to add to the product
///
Task PrepareAddCrossSellProductListModelAsync(AddCrossSellProductSearchModel searchModel);
///
/// Prepare paged associated product list model
///
/// Associated product search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the associated product list model
///
Task PrepareAssociatedProductListModelAsync(AssociatedProductSearchModel searchModel, Product product);
///
/// Prepare associated product search model to add to the product
///
/// Associated product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the associated product search model to add to the product
///
Task PrepareAddAssociatedProductSearchModelAsync(AddAssociatedProductSearchModel searchModel);
///
/// Prepare paged associated product list model to add to the product
///
/// Associated product search model to add to the product
///
/// A task that represents the asynchronous operation
/// The task result contains the associated product list model to add to the product
///
Task PrepareAddAssociatedProductListModelAsync(AddAssociatedProductSearchModel searchModel);
///
/// Prepare paged product picture list model
///
/// Product picture search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the product picture list model
///
Task PrepareProductPictureListModelAsync(ProductPictureSearchModel searchModel, Product product);
///
/// Prepare paged product video list model
///
/// Product video search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the product video list model
///
Task PrepareProductVideoListModelAsync(ProductVideoSearchModel searchModel, Product product);
///
/// Prepare paged product specification attribute list model
///
/// Product specification attribute search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the product specification attribute list model
///
Task PrepareProductSpecificationAttributeListModelAsync(
ProductSpecificationAttributeSearchModel searchModel, Product product);
///
/// Prepare paged product specification attribute model
///
/// Product id
/// Specification attribute id
///
/// A task that represents the asynchronous operation
/// The task result contains the product specification attribute model
///
Task PrepareAddSpecificationAttributeModelAsync(int productId, int? specificationId);
///
/// Prepare product tag search model
///
/// Product tag search model
///
/// A task that represents the asynchronous operation
/// The task result contains the product tag search model
///
Task PrepareProductTagSearchModelAsync(ProductTagSearchModel searchModel);
///
/// Prepare paged product tag list model
///
/// Product tag search model
///
/// A task that represents the asynchronous operation
/// The task result contains the product tag list model
///
Task PrepareProductTagListModelAsync(ProductTagSearchModel searchModel);
///
/// Prepare product tag model
///
/// Product tag model
/// Product tag
/// Whether to exclude populating of some properties of model
///
/// A task that represents the asynchronous operation
/// The task result contains the product tag model
///
Task PrepareProductTagModelAsync(ProductTagModel model, ProductTag productTag, bool excludeProperties = false);
///
/// Prepare paged product order list model
///
/// Product order search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the product order list model
///
Task PrepareProductOrderListModelAsync(ProductOrderSearchModel searchModel, Product product);
///
/// Prepare paged tier price list model
///
/// Tier price search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the ier price list model
///
Task PrepareTierPriceListModelAsync(TierPriceSearchModel searchModel, Product product);
///
/// Prepare tier price model
///
/// Tier price model
/// Product
/// Tier price
/// Whether to exclude populating of some properties of model
///
/// A task that represents the asynchronous operation
/// The task result contains the ier price model
///
Task PrepareTierPriceModelAsync(TierPriceModel model,
Product product, TierPrice tierPrice, bool excludeProperties = false);
///
/// Prepare paged stock quantity history list model
///
/// Stock quantity history search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the stock quantity history list model
///
Task PrepareStockQuantityHistoryListModelAsync(StockQuantityHistorySearchModel searchModel, Product product);
///
/// Prepare paged product attribute mapping list model
///
/// Product attribute mapping search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the product attribute mapping list model
///
Task PrepareProductAttributeMappingListModelAsync(ProductAttributeMappingSearchModel searchModel,
Product product);
///
/// Prepare product attribute mapping model
///
/// Product attribute mapping model
/// Product
/// Product attribute mapping
/// Whether to exclude populating of some properties of model
///
/// A task that represents the asynchronous operation
/// The task result contains the product attribute mapping model
///
Task PrepareProductAttributeMappingModelAsync(ProductAttributeMappingModel model,
Product product, ProductAttributeMapping productAttributeMapping, bool excludeProperties = false);
///
/// Prepare paged product attribute value list model
///
/// Product attribute value search model
/// Product attribute mapping
///
/// A task that represents the asynchronous operation
/// The task result contains the product attribute value list model
///
Task PrepareProductAttributeValueListModelAsync(ProductAttributeValueSearchModel searchModel,
ProductAttributeMapping productAttributeMapping);
///
/// Prepare product attribute value model
///
/// Product attribute value model
/// Product attribute mapping
/// Product attribute value
/// Whether to exclude populating of some properties of model
///
/// A task that represents the asynchronous operation
/// The task result contains the product attribute value model
///
Task PrepareProductAttributeValueModelAsync(ProductAttributeValueModel model,
ProductAttributeMapping productAttributeMapping, ProductAttributeValue productAttributeValue, bool excludeProperties = false);
///
/// Prepare product model to associate to the product attribute value
///
/// Product model to associate to the product attribute value
///
/// A task that represents the asynchronous operation
/// The task result contains the product model to associate to the product attribute value
///
Task PrepareAssociateProductToAttributeValueSearchModelAsync(
AssociateProductToAttributeValueSearchModel searchModel);
///
/// Prepare paged product model to associate to the product attribute value
///
/// Product model to associate to the product attribute value
///
/// A task that represents the asynchronous operation
/// The task result contains the product model to associate to the product attribute value
///
Task PrepareAssociateProductToAttributeValueListModelAsync(
AssociateProductToAttributeValueSearchModel searchModel);
///
/// Prepare paged product attribute combination list model
///
/// Product attribute combination search model
/// Product
///
/// A task that represents the asynchronous operation
/// The task result contains the product attribute combination list model
///
Task PrepareProductAttributeCombinationListModelAsync(
ProductAttributeCombinationSearchModel searchModel, Product product);
///
/// Prepare product attribute combination model
///
/// Product attribute combination model
/// Product
/// Product attribute combination
/// Whether to exclude populating of some properties of model
///
/// A task that represents the asynchronous operation
/// The task result contains the product attribute combination model
///
Task PrepareProductAttributeCombinationModelAsync(ProductAttributeCombinationModel model,
Product product, ProductAttributeCombination productAttributeCombination, bool excludeProperties = false);
}