Merge branch 'dev' into j3/TODO_erreurs

# Conflicts:
#	Webzine.Repository/DbTitreRepository.cs
This commit is contained in:
mirage
2026-04-02 16:02:36 +02:00
7 changed files with 280 additions and 11 deletions

View File

@@ -0,0 +1,57 @@
namespace Webzine.Business.Contracts.Dto;
/// <summary>
/// Dto transportant les données métier d'un titre saisi en administration.
/// </summary>
public class TitreAdminDTO
{
/// <summary>
/// Identifiant du titre (0 lors d'une création).
/// </summary>
public int Id { get; set; }
/// <summary>
/// Identifiant de l'artiste sélectionné.
/// </summary>
public int IdArtiste { get; set; }
/// <summary>
/// Libellé du titre.
/// </summary>
public string Libelle { get; set; } = string.Empty;
/// <summary>
/// Nom de l'album.
/// </summary>
public string Album { get; set; } = string.Empty;
/// <summary>
/// Texte de la chronique.
/// </summary>
public string Chronique { get; set; } = string.Empty;
/// <summary>
/// Date de sortie du titre.
/// </summary>
public DateTime DateSortie { get; set; }
/// <summary>
/// Durée en secondes.
/// </summary>
public int Duree { get; set; }
/// <summary>
/// URL de la jaquette.
/// </summary>
public string UrlJaquette { get; set; } = string.Empty;
/// <summary>
/// URL d'écoute.
/// </summary>
public string? UrlEcoute { get; set; }
/// <summary>
/// Identifiants des styles sélectionnés.
/// </summary>
public List<int> Styles { get; set; } = new ();
}

View File

@@ -0,0 +1,22 @@
namespace Webzine.Business.Contracts;
using Webzine.Business.Contracts.Dto;
/// <summary>
/// Service responsable des opérations d'administration sur les titres.
/// Orchestre la résolution des dépendances (artiste, styles) et la persistance.
/// </summary>
public interface ITitreAdminService
{
/// <summary>
/// Crée un nouveau titre à partir des données du formulaire d'administration.
/// </summary>
/// <param name="commande">Les données saisies dans le formulaire de création.</param>
void CreerTitre(TitreAdminDTO commande);
/// <summary>
/// Met à jour un titre existant à partir des données du formulaire d'administration.
/// </summary>
/// <param name="commande">Les données saisies dans le formulaire de modification.</param>
void ModifierTitre(TitreAdminDTO commande);
}