Files
webzine/Webzine.Entity/Titre.cs

68 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace Webzine.Entity
{
/// <summary>
/// Classe représentant un titre de musique.
/// Lien avec l'entité <see cref="Artiste"/> : un artiste peut avoir plusieurs titres, mais un titre n'a qu'un seul artiste.
/// Lien avec l'entité <see cref="Commentaire"/> : un titre peut avoir plusieurs commentaires, mais un commentaire n'a qu'un seul titre.
/// </summary>
public class Titre
{
public int IdTitre { get; set; }
public int IdArtiste { get; set; }
public Artiste Artiste { get; set; }
[Required]
[MinLength(1)]
[MaxLength(200)]
[Display(Name = "Titre")]
public string Libelle { get; set; }
[Required]
[MinLength(10)]
[MaxLength(4000)]
public string Chronique { get; set; }
[Required]
[Display(Name = "Date de création")]
public DateTime DateCreation { get; set; }
[Display(Name = "Durée en secondes")]
public int Duree { get; set; }
[Required]
[Display(Name = "Date de sortie")]
public DateTime DateSortie { get; set; }
[Required]
[MaxLength(250)]
[Display(Name = "Jaquette de l'album")]
public string UrlJaquette { get; set; }
[MinLength(13)]
[MaxLength(250)]
[Display(Name = "URL d'écoute")]
public string UrlEcoute { get; set; }
[Required]
[Display(Name = "Nombre de lectures")]
public int NbLectures { get; set; }
[Required]
[Display(Name = "Nombre de likes")]
public int NbLikes { get; set; }
[Required]
public string Album { get; set; }
public List<Commentaire> Commentaires { get; set; }
}
}