analytics and statistics
This commit is contained in:
114
Webshop.Application/DTOs/Admin/AnalyticsDto.cs
Normal file
114
Webshop.Application/DTOs/Admin/AnalyticsDto.cs
Normal file
@@ -0,0 +1,114 @@
|
||||
// src/Webshop.Application/DTOs/Admin/AnalyticsDto.cs
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Webshop.Application.DTOs.Admin
|
||||
{
|
||||
/// <summary>
|
||||
/// Fasst alle relevanten Analysedaten und KPIs für den Admin-Bereich zusammen.
|
||||
/// </summary>
|
||||
public class AnalyticsDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Die wichtigsten Kennzahlen (Key Performance Indicators).
|
||||
/// </summary>
|
||||
public KpiSummaryDto KpiSummary { get; set; } = new KpiSummaryDto();
|
||||
|
||||
/// <summary>
|
||||
/// Eine Liste von Datenpunkten für Umsatz-Charts (z.B. Umsatz pro Tag).
|
||||
/// </summary>
|
||||
public List<SalesDataPointDto> SalesOverTime { get; set; } = new List<SalesDataPointDto>();
|
||||
|
||||
/// <summary>
|
||||
/// Die Top 10 der meistverkauften Produkte im ausgewählten Zeitraum.
|
||||
/// </summary>
|
||||
public List<TopProductDto> TopPerformingProducts { get; set; } = new List<TopProductDto>();
|
||||
|
||||
/// <summary>
|
||||
/// Informationen zum aktuellen Lagerbestand.
|
||||
/// </summary>
|
||||
public InventoryStatusDto InventoryStatus { get; set; } = new InventoryStatusDto();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Die wichtigsten Kennzahlen (Key Performance Indicators).
|
||||
/// </summary>
|
||||
public class KpiSummaryDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Der Gesamtumsatz (netto) im ausgewählten Zeitraum.
|
||||
/// </summary>
|
||||
public decimal TotalRevenue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Die Gesamtzahl der Bestellungen im ausgewählten Zeitraum.
|
||||
/// </summary>
|
||||
public int TotalOrders { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Die Gesamtzahl aller registrierten Kunden.
|
||||
/// </summary>
|
||||
public int TotalCustomers { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Die Anzahl der Neukunden, die sich im ausgewählten Zeitraum registriert haben.
|
||||
/// </summary>
|
||||
public int NewCustomersThisPeriod { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Der durchschnittliche Wert einer Bestellung im ausgewählten Zeitraum.
|
||||
/// </summary>
|
||||
public decimal AverageOrderValue { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ein Datenpunkt für Umsatz-Charts (z.B. Umsatz pro Tag).
|
||||
/// </summary>
|
||||
public class SalesDataPointDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Das Datum des Datenpunkts im Format 'yyyy-MM-dd'.
|
||||
/// </summary>
|
||||
public string Date { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Der an diesem Tag generierte Umsatz.
|
||||
/// </summary>
|
||||
public decimal Revenue { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Repräsentiert ein gut verkauftes Produkt.
|
||||
/// </summary>
|
||||
public class TopProductDto
|
||||
{
|
||||
public Guid ProductId { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Sku { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Die Gesamtzahl der verkauften Einheiten im ausgewählten Zeitraum.
|
||||
/// </summary>
|
||||
public int UnitsSold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Der Gesamtumsatz, der mit diesem Produkt im ausgewählten Zeitraum erzielt wurde.
|
||||
/// </summary>
|
||||
public decimal TotalRevenue { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Informationen zum Lagerbestand.
|
||||
/// </summary>
|
||||
public class InventoryStatusDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Die Anzahl der Produkte, deren Lagerbestand unter dem in den Einstellungen definierten Schwellenwert liegt.
|
||||
/// </summary>
|
||||
public int ProductsWithLowStock { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Der prozentuale Anteil der Produkte, die auf Lager sind (Menge > 0).
|
||||
/// </summary>
|
||||
public double OverallStockAvailabilityPercentage { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user