67 lines
2.1 KiB
C#
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; }
|
|
}
|
|
}
|