92 lines
2.7 KiB
C#
92 lines
2.7 KiB
C#
namespace Webzine.WebApplication.Areas.Administration.ViewModels.Titre;
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
|
|
/// <summary>
|
|
/// ViewModel pour la création et la modification d'un titre dans l'administration.
|
|
/// </summary>
|
|
public class AdminTitreForm
|
|
{
|
|
/// <summary>
|
|
/// Définit l'identifiant du titre.
|
|
/// </summary>
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit l'identifiant de l'artiste associé au titre.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "L'id de l'artiste est obligatoire.")]
|
|
|
|
public int IdArtiste { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit le titre du titre.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Le labelle est obligatoire.")]
|
|
|
|
public string Libelle { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit le nom de l'album associé au titre.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "L'album est obligatoire.")]
|
|
|
|
public string Album { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit la chronique du titre, peut-être une critique ou une description du titre.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "La chronique est obligatoire.")]
|
|
public string Chronique { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit la date de sortie du titre.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "La date de est obligatoire.")]
|
|
|
|
public DateTime DateSortie { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit la durée du titre en secondes.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "La durée est obligatoire.")]
|
|
public int Duree { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit l'URL de la jaquette de l'album associé au titre.
|
|
/// </summary>
|
|
[Required(ErrorMessage = "L'Url de la jaquette est obligatoire.")]
|
|
public string UrlJaquette { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit l'URL d'écoute du titre.
|
|
/// </summary>
|
|
public string UrlEcoute { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit le nombre de lectures du titre.
|
|
/// </summary>
|
|
public int NbLectures { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit le nombre de likes du titre.
|
|
/// </summary>
|
|
public int NbLikes { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit la liste des identifiants des styles associés au titre.
|
|
/// </summary>
|
|
public List<int> Styles { get; set; } = new ();
|
|
|
|
/// <summary>
|
|
/// Définit la liste des artistes disponibles pour la sélection dans le formulaire de création ou de modification d'un titre.
|
|
/// </summary>
|
|
public List<SelectListItem> Artistes { get; set; }
|
|
|
|
/// <summary>
|
|
/// Définit la liste des styles disponibles pour la sélection dans le formulaire de création ou de modification d'un titre.
|
|
/// </summary>
|
|
public List<SelectListItem> AllStyles { get; set; }
|
|
} |