Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

ISpecificationAttributeService.cs

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
}