using Grand.Domain.Localization;

namespace Grand.Domain.Catalog;

/// <summary>
///     Represents a predefined (default) product attribute value
/// </summary>
public class PredefinedProductAttributeValue : SubBaseEntity, ITranslationEntity
{
    /// <summary>
    ///     Gets or sets the product attribute name
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    ///     Gets or sets the price adjustment
    /// </summary>
    public double PriceAdjustment { get; set; }

    /// <summary>
    ///     Gets or sets the weight adjustment
    /// </summary>
    public double WeightAdjustment { get; set; }

    /// <summary>
    ///     Gets or sets the attibute value cost
    /// </summary>
    public double Cost { get; set; }

    /// <summary>
    ///     Gets or sets a value indicating whether the value is pre-selected
    /// </summary>
    public bool IsPreSelected { get; set; }

    /// <summary>
    ///     Gets or sets the display order
    /// </summary>
    public int DisplayOrder { get; set; }

    /// <summary>
    ///     Gets or sets the collection of locales
    /// </summary>
    public IList<TranslationEntity> Locales { get; set; } = new List<TranslationEntity>();
}