Merge branch 'dev' into j3/TODO_erreurs

This commit is contained in:
josephine.vetu
2026-04-01 17:41:27 +02:00
26 changed files with 281 additions and 74 deletions

View File

@@ -0,0 +1,57 @@
namespace Webzine.Business.Contracts.Dto;
/// <summary>
/// DTO pour le tableau de bord de l'administration du webzine.
/// </summary>
public class DashboardDTO
{
/// <summary>
/// Définit le nombre total d'artistes chroniqués dans le webzine.
/// </summary>
public int NombreArtistes { get; set; }
/// <summary>
/// Définit le nom de l'artiste le plus chroniqué dans le webzine.
/// </summary>
public string ArtisteLePlusChronique { get; set; }
/// <summary>
/// Définit le nom de l'album le plus chroniqué dans le webzine.
/// </summary>
public string AlbumLePlusChronique { get; set; }
/// <summary>
/// Définit le nombre total de biographies d'artistes dans le webzine.
/// </summary>
public int NombreBiographies { get; set; }
/// <summary>
/// Définit l'identifiant de la biographie d'artiste la plus lue dans le webzine.
/// </summary>
public int IdMusiqueLaPlusJouee { get; set; }
/// <summary>
/// Définit le nom de la biographie d'artiste la plus lue dans le webzine.
/// </summary>
public string MusiqueLaPlusJouee { get; set; }
/// <summary>
/// Définit le nombre total de titres chroniqués dans le webzine.
/// </summary>
public int NombreTitres { get; set; }
/// <summary>
/// Définit le nombre total de genres musicaux chroniqués dans le webzine.
/// </summary>
public int NombreGenres { get; set; }
/// <summary>
/// Définit le nombre total de chroniques d'albums dans le webzine.
/// </summary>
public int NombreLectures { get; set; }
/// <summary>
/// Définit le nombre total de likes sur les chroniques d'albums dans le webzine.
/// </summary>
public int NombreLikes { get; set; }
}

View File

@@ -0,0 +1,16 @@
namespace Webzine.Business.Contracts;
using Webzine.Business.Contracts.Dto;
/// <summary>
/// Service responsable du calcul des statistiques affichées sur le tableau de bord d'administration.
/// Agrège les données provenant de plusieurs repositories pour produire un résumé cohérent.
/// </summary>
public interface IDashboardService
{
/// <summary>
/// Calcule et retourne toutes les statistiques du tableau de bord en une seule passe.
/// </summary>
/// <returns>Un <see cref="DashboardDTO"/> contenant les agrégats calculés.</returns>
DashboardDTO GetDashboardData();
}