51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
namespace Webzine.Entity
|
|
{
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
/// <summary>
|
|
/// Classe représentant un commentaire laissé par un utilisateur sur un titre.
|
|
/// Lien avec l'entité <see cref="Titre"/> : un titre peut avoir plusieurs commentaires, mais un commentaire n'a qu'un seul titre.
|
|
/// </summary>
|
|
public class Commentaire
|
|
{
|
|
/// <summary>
|
|
/// Identifiant unique du commentaire.
|
|
/// </summary>
|
|
public int IdCommentaire { get; set; }
|
|
|
|
/// <summary>
|
|
/// Contenu du commentaire laissé par l'utilisateur. Doit être compris entre 10 et 1000 caractères et est obligatoire.
|
|
/// </summary>
|
|
[Required]
|
|
[MinLength(10)]
|
|
[MaxLength(1000)]
|
|
[Display(Name = "Commentaire")]
|
|
public string Contenu { get; set; }
|
|
|
|
/// <summary>
|
|
/// Nom de l'auteur du commentaire. Doit être compris entre 2 et 30 caractères et est obligatoire.
|
|
/// </summary>
|
|
[Required]
|
|
[MinLength(2)]
|
|
[MaxLength(30)]
|
|
[Display(Name = "Nom")]
|
|
public string Auteur { get; set; }
|
|
|
|
/// <summary>
|
|
/// Date de création du commentaire. Représente la date à laquelle le commentaire a été laissé par l'utilisateur. Doit être une date valide et est obligatoire.
|
|
/// </summary>
|
|
[Required]
|
|
[Display(Name = "Date de création")]
|
|
public DateTime DateCreation { get; set; }
|
|
|
|
/// <summary>
|
|
/// Identifiant du titre associé à ce commentaire. Clé étrangère vers l'entité <see cref="Titre"/>.
|
|
/// </summary>
|
|
public int IdTitre { get; set; }
|
|
|
|
/// <summary>
|
|
/// Référence au titre associé à ce commentaire. Permet d'accéder aux informations du titre à partir du commentaire.
|
|
/// </summary>
|
|
public Titre Titre { get; set; }
|
|
}
|
|
} |