using Nop.Core.Domain.Catalog; using Nop.Web.Areas.Admin.Models.Catalog; namespace Nop.Web.Areas.Admin.Factories; /// /// Represents the specification attribute model factory /// public partial interface ISpecificationAttributeModelFactory { /// /// Prepare specification attribute group search model /// /// Specification attribute group search model /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute group search model /// Task PrepareSpecificationAttributeGroupSearchModelAsync(SpecificationAttributeGroupSearchModel searchModel); /// /// Prepare paged specification attribute group list model /// /// Specification attribute group search model /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute group list model /// Task PrepareSpecificationAttributeGroupListModelAsync(SpecificationAttributeGroupSearchModel searchModel); /// /// Prepare specification attribute group model /// /// Specification attribute group model /// Specification attribute group /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute group model /// Task PrepareSpecificationAttributeGroupModelAsync(SpecificationAttributeGroupModel model, SpecificationAttributeGroup specificationAttributeGroup, bool excludeProperties = false); /// /// Prepare paged specification attribute list model /// /// Specification attribute search model /// Specification attribute group /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute list model /// Task PrepareSpecificationAttributeListModelAsync(SpecificationAttributeSearchModel searchModel, SpecificationAttributeGroup group); /// /// Prepare specification attribute model /// /// Specification attribute model /// Specification attribute /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute model /// Task PrepareSpecificationAttributeModelAsync(SpecificationAttributeModel model, SpecificationAttribute specificationAttribute, bool excludeProperties = false); /// /// Prepare paged specification attribute option list model /// /// Specification attribute option search model /// Specification attribute /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute option list model /// Task PrepareSpecificationAttributeOptionListModelAsync( SpecificationAttributeOptionSearchModel searchModel, SpecificationAttribute specificationAttribute); /// /// Prepare specification attribute option model /// /// Specification attribute option model /// Specification attribute /// Specification attribute option /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute option model /// Task PrepareSpecificationAttributeOptionModelAsync(SpecificationAttributeOptionModel model, SpecificationAttribute specificationAttribute, SpecificationAttributeOption specificationAttributeOption, bool excludeProperties = false); /// /// Prepare paged list model of products that use the specification attribute /// /// Search model of products that use the specification attribute /// Specification attribute /// /// A task that represents the asynchronous operation /// The task result contains the list model of products that use the specification attribute /// Task PrepareSpecificationAttributeProductListModelAsync( SpecificationAttributeProductSearchModel searchModel, SpecificationAttribute specificationAttribute); }