using Nop.Core.Domain.Discounts; using Nop.Web.Areas.Admin.Models.Discounts; namespace Nop.Web.Areas.Admin.Factories; /// /// Represents the discount model factory /// public partial interface IDiscountModelFactory { /// /// Prepare discount search model /// /// Discount search model /// /// A task that represents the asynchronous operation /// The task result contains the discount search model /// Task PrepareDiscountSearchModelAsync(DiscountSearchModel searchModel); /// /// Prepare paged discount list model /// /// Discount search model /// /// A task that represents the asynchronous operation /// The task result contains the discount list model /// Task PrepareDiscountListModelAsync(DiscountSearchModel searchModel); /// /// Prepare discount model /// /// Discount model /// Discount /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the discount model /// Task PrepareDiscountModelAsync(DiscountModel model, Discount discount, bool excludeProperties = false); /// /// Prepare discount requirement rule models /// /// Collection of discount requirements /// Discount /// Interaction type within the group of requirements /// /// A task that represents the asynchronous operation /// The task result contains the list of discount requirement rule models /// Task> PrepareDiscountRequirementRuleModelsAsync(ICollection requirements, Discount discount, RequirementGroupInteractionType groupInteractionType); /// /// Prepare paged discount usage history list model /// /// Discount usage history search model /// Discount /// /// A task that represents the asynchronous operation /// The task result contains the discount usage history list model /// Task PrepareDiscountUsageHistoryListModelAsync(DiscountUsageHistorySearchModel searchModel, Discount discount); /// /// Prepare paged discount product list model /// /// Discount product search model /// Discount /// /// A task that represents the asynchronous operation /// The task result contains the discount product list model /// Task PrepareDiscountProductListModelAsync(DiscountProductSearchModel searchModel, Discount discount); /// /// Prepare product search model to add to the discount /// /// Product search model to add to the discount /// /// A task that represents the asynchronous operation /// The task result contains the product search model to add to the discount /// Task PrepareAddProductToDiscountSearchModelAsync(AddProductToDiscountSearchModel searchModel); /// /// Prepare paged product list model to add to the discount /// /// Product search model to add to the discount /// /// A task that represents the asynchronous operation /// The task result contains the product list model to add to the discount /// Task PrepareAddProductToDiscountListModelAsync(AddProductToDiscountSearchModel searchModel); /// /// Prepare paged discount category list model /// /// Discount category search model /// Discount /// /// A task that represents the asynchronous operation /// The task result contains the discount category list model /// Task PrepareDiscountCategoryListModelAsync(DiscountCategorySearchModel searchModel, Discount discount); /// /// Prepare category search model to add to the discount /// /// Category search model to add to the discount /// /// A task that represents the asynchronous operation /// The task result contains the category search model to add to the discount /// Task PrepareAddCategoryToDiscountSearchModelAsync(AddCategoryToDiscountSearchModel searchModel); /// /// Prepare paged category list model to add to the discount /// /// Category search model to add to the discount /// /// A task that represents the asynchronous operation /// The task result contains the category list model to add to the discount /// Task PrepareAddCategoryToDiscountListModelAsync(AddCategoryToDiscountSearchModel searchModel); /// /// Prepare paged discount manufacturer list model /// /// Discount manufacturer search model /// Discount /// /// A task that represents the asynchronous operation /// The task result contains the discount manufacturer list model /// Task PrepareDiscountManufacturerListModelAsync(DiscountManufacturerSearchModel searchModel, Discount discount); /// /// Prepare manufacturer search model to add to the discount /// /// Manufacturer search model to add to the discount /// /// A task that represents the asynchronous operation /// The task result contains the manufacturer search model to add to the discount /// Task PrepareAddManufacturerToDiscountSearchModelAsync(AddManufacturerToDiscountSearchModel searchModel); /// /// Prepare paged manufacturer list model to add to the discount /// /// Manufacturer search model to add to the discount /// /// A task that represents the asynchronous operation /// The task result contains the manufacturer list model to add to the discount /// Task PrepareAddManufacturerToDiscountListModelAsync(AddManufacturerToDiscountSearchModel searchModel); }