using Nop.Core; using Nop.Core.Domain.Catalog; namespace Nop.Services.Catalog; /// /// Specification attribute service interface /// public partial interface ISpecificationAttributeService { #region Specification attribute group /// /// Gets a specification attribute group /// /// The specification attribute group identifier /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute group /// Task GetSpecificationAttributeGroupByIdAsync(int specificationAttributeGroupId); /// /// Gets specification attribute groups /// /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute groups /// Task> GetSpecificationAttributeGroupsAsync(int pageIndex = 0, int pageSize = int.MaxValue); /// /// Gets product specification attribute groups /// /// Product identifier /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute groups /// Task> GetProductSpecificationAttributeGroupsAsync(int productId); /// /// Deletes a specification attribute group /// /// The specification attribute group /// A task that represents the asynchronous operation Task DeleteSpecificationAttributeGroupAsync(SpecificationAttributeGroup specificationAttributeGroup); /// /// Inserts a specification attribute group /// /// The specification attribute group /// A task that represents the asynchronous operation Task InsertSpecificationAttributeGroupAsync(SpecificationAttributeGroup specificationAttributeGroup); /// /// Updates the specification attribute group /// /// The specification attribute group /// A task that represents the asynchronous operation Task UpdateSpecificationAttributeGroupAsync(SpecificationAttributeGroup specificationAttributeGroup); #endregion #region Specification attribute /// /// Gets a specification attribute /// /// The specification attribute identifier /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute /// Task GetSpecificationAttributeByIdAsync(int specificationAttributeId); /// /// Gets specification attributes /// /// The specification attribute identifiers /// /// A task that represents the asynchronous operation /// The task result contains the specification attributes /// Task> GetSpecificationAttributeByIdsAsync(int[] specificationAttributeIds); /// /// Gets specification attributes /// /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the specification attributes /// Task> GetSpecificationAttributesAsync(int pageIndex = 0, int pageSize = int.MaxValue); /// /// Gets specification attributes that have options /// /// /// A task that represents the asynchronous operation /// The task result contains the specification attributes that have available options /// Task> GetSpecificationAttributesWithOptionsAsync(); /// /// Gets specification attributes by group identifier /// /// The specification attribute group identifier /// /// A task that represents the asynchronous operation /// The task result contains the specification attributes /// Task> GetSpecificationAttributesByGroupIdAsync(int? specificationAttributeGroupId = null); /// /// Deletes a specification attribute /// /// The specification attribute /// A task that represents the asynchronous operation Task DeleteSpecificationAttributeAsync(SpecificationAttribute specificationAttribute); /// /// Deletes specifications attributes /// /// Specification attributes /// A task that represents the asynchronous operation Task DeleteSpecificationAttributesAsync(IList specificationAttributes); /// /// Inserts a specification attribute /// /// The specification attribute /// A task that represents the asynchronous operation Task InsertSpecificationAttributeAsync(SpecificationAttribute specificationAttribute); /// /// Updates the specification attribute /// /// The specification attribute /// A task that represents the asynchronous operation Task UpdateSpecificationAttributeAsync(SpecificationAttribute specificationAttribute); #endregion #region Specification attribute option /// /// Gets a specification attribute option /// /// The specification attribute option /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute option /// Task GetSpecificationAttributeOptionByIdAsync(int specificationAttributeOption); /// /// Get specification attribute options by identifiers /// /// Identifiers /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute options /// Task> GetSpecificationAttributeOptionsByIdsAsync(int[] specificationAttributeOptionIds); /// /// Gets a specification attribute option by specification attribute id /// /// The specification attribute identifier /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute option /// Task> GetSpecificationAttributeOptionsBySpecificationAttributeAsync(int specificationAttributeId); /// /// Deletes a specification attribute option /// /// The specification attribute option /// A task that represents the asynchronous operation Task DeleteSpecificationAttributeOptionAsync(SpecificationAttributeOption specificationAttributeOption); /// /// Inserts a specification attribute option /// /// The specification attribute option /// A task that represents the asynchronous operation Task InsertSpecificationAttributeOptionAsync(SpecificationAttributeOption specificationAttributeOption); /// /// Updates the specification attribute /// /// The specification attribute option /// A task that represents the asynchronous operation Task UpdateSpecificationAttributeOptionAsync(SpecificationAttributeOption specificationAttributeOption); /// /// Returns a list of IDs of not existing specification attribute options /// /// The IDs of the attribute options to check /// /// A task that represents the asynchronous operation /// The task result contains the list of IDs not existing specification attribute options /// Task GetNotExistingSpecificationAttributeOptionsAsync(int[] attributeOptionIds); /// /// Gets the filtrable specification attribute options by category id /// /// The category id /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute options /// Task> GetFiltrableSpecificationAttributeOptionsByCategoryIdAsync(int categoryId); /// /// Gets the filtrable specification attribute options by manufacturer id /// /// The manufacturer id /// /// A task that represents the asynchronous operation /// The task result contains the specification attribute options /// Task> GetFiltrableSpecificationAttributeOptionsByManufacturerIdAsync(int manufacturerId); #endregion #region Product specification attribute /// /// Deletes a product specification attribute mapping /// /// Product specification attribute /// A task that represents the asynchronous operation Task DeleteProductSpecificationAttributeAsync(ProductSpecificationAttribute productSpecificationAttribute); /// /// Gets a product specification attribute mapping collection /// /// Product identifier; 0 to load all records /// Specification attribute option identifier; 0 to load all records /// 0 to load attributes with AllowFiltering set to false, 1 to load attributes with AllowFiltering set to true, null to load all attributes /// 0 to load attributes with ShowOnProductPage set to false, 1 to load attributes with ShowOnProductPage set to true, null to load all attributes /// Specification attribute group identifier; 0 to load all records; null to load attributes without group /// /// A task that represents the asynchronous operation /// The task result contains the product specification attribute mapping collection /// Task> GetProductSpecificationAttributesAsync(int productId = 0, int specificationAttributeOptionId = 0, bool? allowFiltering = null, bool? showOnProductPage = null, int? specificationAttributeGroupId = 0); /// /// Gets a product specification attribute mapping /// /// Product specification attribute mapping identifier /// /// A task that represents the asynchronous operation /// The task result contains the product specification attribute mapping /// Task GetProductSpecificationAttributeByIdAsync(int productSpecificationAttributeId); /// /// Inserts a product specification attribute mapping /// /// Product specification attribute mapping /// A task that represents the asynchronous operation Task InsertProductSpecificationAttributeAsync(ProductSpecificationAttribute productSpecificationAttribute); /// /// Updates the product specification attribute mapping /// /// Product specification attribute mapping /// A task that represents the asynchronous operation Task UpdateProductSpecificationAttributeAsync(ProductSpecificationAttribute productSpecificationAttribute); /// /// Gets a count of product specification attribute mapping records /// /// Product identifier; 0 to load all records /// The specification attribute option identifier; 0 to load all records /// /// A task that represents the asynchronous operation /// The task result contains the count /// Task GetProductSpecificationAttributeCountAsync(int productId = 0, int specificationAttributeOptionId = 0); /// /// Get mapped products for specification attribute /// /// The specification attribute identifier /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the products /// Task> GetProductsBySpecificationAttributeIdAsync(int specificationAttributeId, int pageIndex, int pageSize); #endregion }