manager-service/ManagerService/DTOs/StatsSummaryDTO.cs

67 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
namespace ManagerService.DTOs
{
public class StatsSummaryDTO
{
public int TotalSessions { get; set; }
public int AvgVisitDurationSeconds { get; set; }
public List<SectionStatDTO> TopSections { get; set; } = new();
public List<DayStatDTO> VisitsByDay { get; set; } = new();
public Dictionary<string, int> LanguageDistribution { get; set; } = new();
public Dictionary<string, int> AppTypeDistribution { get; set; } = new();
public List<PoiStatDTO> TopPois { get; set; } = new();
public List<AgendaEventStatDTO> TopAgendaEvents { get; set; } = new();
public List<QuizStatDTO> QuizStats { get; set; } = new();
public List<GameStatDTO> GameStats { get; set; } = new();
}
public class SectionStatDTO
{
public string SectionId { get; set; }
public string SectionTitle { get; set; }
public int Views { get; set; }
public int AvgDurationSeconds { get; set; }
}
public class DayStatDTO
{
public string Date { get; set; } // "2026-03-12"
public int Total { get; set; }
public int Mobile { get; set; }
public int Tablet { get; set; }
}
public class PoiStatDTO
{
public int GeoPointId { get; set; }
public string Title { get; set; }
public int Taps { get; set; }
public string SectionId { get; set; }
}
public class AgendaEventStatDTO
{
public string EventId { get; set; }
public string EventTitle { get; set; }
public int Taps { get; set; }
}
public class QuizStatDTO
{
public string SectionId { get; set; }
public string SectionTitle { get; set; }
public double AvgScore { get; set; }
public int TotalQuestions { get; set; }
public int Completions { get; set; }
}
public class GameStatDTO
{
public string GameType { get; set; }
public int Completions { get; set; }
public int AvgDurationSeconds { get; set; }
}
}