using Nop.Core; using Nop.Core.Domain.Catalog; namespace Nop.Services.Catalog; /// /// Product attribute service interface /// public partial interface IProductAttributeService { #region Product attributes /// /// Deletes a product attribute /// /// Product attribute /// A task that represents the asynchronous operation Task DeleteProductAttributeAsync(ProductAttribute productAttribute); /// /// Deletes product attributes /// /// Product attributes /// A task that represents the asynchronous operation Task DeleteProductAttributesAsync(IList productAttributes); /// /// Gets all product attributes /// /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the product attributes /// Task> GetAllProductAttributesAsync(int pageIndex = 0, int pageSize = int.MaxValue); /// /// Gets a product attribute /// /// Product attribute identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute /// Task GetProductAttributeByIdAsync(int productAttributeId); /// /// Gets product attributes /// /// Product attribute identifiers /// /// A task that represents the asynchronous operation /// The task result contains the product attributes /// Task> GetProductAttributeByIdsAsync(int[] productAttributeIds); /// /// Inserts a product attribute /// /// Product attribute /// A task that represents the asynchronous operation Task InsertProductAttributeAsync(ProductAttribute productAttribute); /// /// Updates the product attribute /// /// Product attribute /// A task that represents the asynchronous operation Task UpdateProductAttributeAsync(ProductAttribute productAttribute); /// /// Returns a list of IDs of not existing attributes /// /// The IDs of the attributes to check /// /// A task that represents the asynchronous operation /// The task result contains the list of IDs not existing attributes /// Task GetNotExistingAttributesAsync(int[] attributeId); #endregion #region Product attributes mappings /// /// Deletes a product attribute mapping /// /// Product attribute mapping /// A task that represents the asynchronous operation Task DeleteProductAttributeMappingAsync(ProductAttributeMapping productAttributeMapping); /// /// Gets product attribute mappings by product identifier /// /// The product identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute mapping collection /// Task> GetProductAttributeMappingsByProductIdAsync(int productId); /// /// Gets a product attribute mapping /// /// Product attribute mapping identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute mapping /// Task GetProductAttributeMappingByIdAsync(int productAttributeMappingId); /// /// Inserts a product attribute mapping /// /// The product attribute mapping /// A task that represents the asynchronous operation Task InsertProductAttributeMappingAsync(ProductAttributeMapping productAttributeMapping); /// /// Updates the product attribute mapping /// /// The product attribute mapping /// A task that represents the asynchronous operation Task UpdateProductAttributeMappingAsync(ProductAttributeMapping productAttributeMapping); #endregion #region Product attribute values /// /// Deletes a product attribute value /// /// Product attribute value /// A task that represents the asynchronous operation Task DeleteProductAttributeValueAsync(ProductAttributeValue productAttributeValue); /// /// Gets product attribute values by product attribute mapping identifier /// /// The product attribute mapping identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute values /// Task> GetProductAttributeValuesAsync(int productAttributeMappingId); /// /// Gets a product attribute value /// /// Product attribute value identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute value /// Task GetProductAttributeValueByIdAsync(int productAttributeValueId); /// /// Inserts a product attribute value /// /// The product attribute value /// A task that represents the asynchronous operation Task InsertProductAttributeValueAsync(ProductAttributeValue productAttributeValue); /// /// Updates the product attribute value /// /// The product attribute value /// A task that represents the asynchronous operation Task UpdateProductAttributeValueAsync(ProductAttributeValue productAttributeValue); #endregion #region Product attribute value pictures /// /// Deletes a product attribute value picture /// /// Product attribute value picture /// A task that represents the asynchronous operation Task DeleteProductAttributeValuePictureAsync(ProductAttributeValuePicture valuePicture); /// /// Inserts a product attribute value picture /// /// Product attribute value picture /// A task that represents the asynchronous operation Task InsertProductAttributeValuePictureAsync(ProductAttributeValuePicture valuePicture); /// /// Updates a product attribute value picture /// /// Product attribute value picture /// A task that represents the asynchronous operation Task UpdateProductAttributeValuePictureAsync(ProductAttributeValuePicture valuePicture); /// /// Get product attribute value pictures /// /// Value id /// /// A task that represents the asynchronous operation /// The task result contains the product attribute value pictures /// Task> GetProductAttributeValuePicturesAsync(int valueId); /// /// Returns a ProductAttributeValuePicture that has the specified values /// /// Source /// Product attribute value identifier /// Picture identifier /// A ProductAttributeValuePicture that has the specified values; otherwise null ProductAttributeValuePicture FindProductAttributeValuePicture(IList source, int valueId, int pictureId); #endregion #region Predefined product attribute values /// /// Deletes a predefined product attribute value /// /// Predefined product attribute value /// A task that represents the asynchronous operation Task DeletePredefinedProductAttributeValueAsync(PredefinedProductAttributeValue ppav); /// /// Gets predefined product attribute values by product attribute identifier /// /// The product attribute identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute mapping collection /// Task> GetPredefinedProductAttributeValuesAsync(int productAttributeId); /// /// Gets a predefined product attribute value /// /// Predefined product attribute value identifier /// /// A task that represents the asynchronous operation /// The task result contains the predefined product attribute value /// Task GetPredefinedProductAttributeValueByIdAsync(int id); /// /// Inserts a predefined product attribute value /// /// The predefined product attribute value /// A task that represents the asynchronous operation Task InsertPredefinedProductAttributeValueAsync(PredefinedProductAttributeValue ppav); /// /// Updates the predefined product attribute value /// /// The predefined product attribute value /// A task that represents the asynchronous operation Task UpdatePredefinedProductAttributeValueAsync(PredefinedProductAttributeValue ppav); #endregion #region Product attribute combinations /// /// Deletes a product attribute combination /// /// Product attribute combination /// A task that represents the asynchronous operation Task DeleteProductAttributeCombinationAsync(ProductAttributeCombination combination); /// /// Gets all product attribute combinations /// /// Product identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute combinations /// Task> GetAllProductAttributeCombinationsAsync(int productId); /// /// Gets a product attribute combination /// /// Product attribute combination identifier /// /// A task that represents the asynchronous operation /// The task result contains the product attribute combination /// Task GetProductAttributeCombinationByIdAsync(int productAttributeCombinationId); /// /// Gets a product attribute combination by SKU /// /// SKU /// /// A task that represents the asynchronous operation /// The task result contains the product attribute combination /// Task GetProductAttributeCombinationBySkuAsync(string sku); /// /// Inserts a product attribute combination /// /// Product attribute combination /// A task that represents the asynchronous operation Task InsertProductAttributeCombinationAsync(ProductAttributeCombination combination); /// /// Updates a product attribute combination /// /// Product attribute combination /// A task that represents the asynchronous operation Task UpdateProductAttributeCombinationAsync(ProductAttributeCombination combination); #endregion #region Product attribute combination pictures /// /// Deletes a product attribute combination picture /// /// Product attribute combination picture /// A task that represents the asynchronous operation Task DeleteProductAttributeCombinationPictureAsync(ProductAttributeCombinationPicture combinationPicture); /// /// Inserts a product attribute combination picture /// /// Product attribute combination picture /// A task that represents the asynchronous operation Task InsertProductAttributeCombinationPictureAsync(ProductAttributeCombinationPicture combinationPicture); /// /// Updates a product attribute combination picture /// /// Product attribute combination picture /// A task that represents the asynchronous operation Task UpdateProductAttributeCombinationPictureAsync(ProductAttributeCombinationPicture combinationPicture); /// /// Get product attribute combination pictures /// /// Combination id /// /// A task that represents the asynchronous operation /// The task result contains the product attribute combination pictures /// Task> GetProductAttributeCombinationPicturesAsync(int combinationId); /// /// Returns a ProductAttributeCombinationPicture that has the specified values /// /// Source /// Product attribute combination identifier /// Picture identifier /// A ProductAttributeCombinationPicture that has the specified values; otherwise null ProductAttributeCombinationPicture FindProductAttributeCombinationPicture(IList source, int combinationId, int pictureId); #endregion }