Files
webzine/Webzine.Entity/Commentaire.cs
2026-03-31 13:44:41 +02:00

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; }
}
}