using System.ComponentModel.DataAnnotations;

namespace Webzine.Entity
{
    /// <summary>
    /// Classe représentant un style de musique.
    /// </summary>
    public class Style
    {
        /// <summary>
        /// Identifiant unique du style.
        /// </summary>
        public int IdStyle { get; set; }

        /// <summary>
        /// Libellé du style de musique. Doit être compris entre 2 et 50 caractères et est obligatoire.
        /// </summary>
        [Required]
        [MinLength(2)]
        [MaxLength(50)]
        [Display(Name = "Libellé")]
        public string Libelle { get; set; }

        /// <summary>
        /// Liste des titres associés à ce style de musique. Un style peut être associé à plusieurs titres, mais un titre n'est associé qu'à un seul style.
        /// </summary>
        public List<Titre> Titres { get; set; } = new List<Titre>();
    }
}
