using Nop.Core.Domain.Attributes; namespace Nop.Services.Attributes; /// /// Represents an attribute service /// /// Type of the attribute (see ) /// Type of the attribute value (see ) public partial interface IAttributeService where TAttribute : BaseAttribute where TAttributeValue : BaseAttributeValue { /// /// Gets all attributes /// /// /// A task that represents the asynchronous operation /// The task result contains the attributes /// Task> GetAllAttributesAsync(); /// /// Gets a attribute /// /// attribute identifier /// /// A task that represents the asynchronous operation /// The task result contains the attribute /// Task GetAttributeByIdAsync(int attributeId); /// /// Inserts a attribute /// /// attribute /// A task that represents the asynchronous operation Task InsertAttributeAsync(TAttribute attribute); /// /// Updates a attribute /// /// attribute /// A task that represents the asynchronous operation Task UpdateAttributeAsync(TAttribute attribute); /// /// Deletes a attribute /// /// attribute /// A task that represents the asynchronous operation Task DeleteAttributeAsync(TAttribute attribute); /// /// Gets attributes /// /// Attribute identifiers /// /// A task that represents the asynchronous operation /// The task result contains the attributes /// Task> GetAttributeByIdsAsync(int[] attributeIds); /// /// Deletes attributes /// /// Attributes /// A task that represents the asynchronous operation Task DeleteAttributesAsync(IList attributes); /// /// Gets attribute values by attribute identifier /// /// The attribute identifier /// /// A task that represents the asynchronous operation /// The task result contains the attribute values /// Task> GetAttributeValuesAsync(int attributeId); /// /// Gets a attribute value /// /// attribute value identifier /// /// A task that represents the asynchronous operation /// The task result contains the attribute value /// Task GetAttributeValueByIdAsync(int attributeValueId); /// /// Inserts a attribute value /// /// attribute value /// A task that represents the asynchronous operation Task InsertAttributeValueAsync(TAttributeValue attributeValue); /// /// Updates a attribute value /// /// attribute value /// A task that represents the asynchronous operation Task UpdateAttributeValueAsync(TAttributeValue attributeValue); /// /// Deletes a attribute value /// /// attribute value /// A task that represents the asynchronous operation Task DeleteAttributeValueAsync(TAttributeValue attributeValue); }