Merge branch 'dev' into j3/feat/business-logic/titre-admin
# Conflicts: # Webzine.Business/Webzine.Business.csproj # Webzine.WebApplication/Program.cs
This commit is contained in:
57
Webzine.Business.Contracts/Dto/DashboardDTO.cs
Normal file
57
Webzine.Business.Contracts/Dto/DashboardDTO.cs
Normal 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; }
|
||||
}
|
||||
16
Webzine.Business.Contracts/IDashboardService.cs
Normal file
16
Webzine.Business.Contracts/IDashboardService.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Webzine.Business.Contracts.Dto;
|
||||
|
||||
namespace Webzine.Business.Contracts;
|
||||
|
||||
/// <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();
|
||||
}
|
||||
Reference in New Issue
Block a user