using System.Collections.Generic; namespace line_gestao_api.Dtos { public class GeralDashboardInsightsDto { public GeralDashboardKpisDto Kpis { get; set; } = new(); public GeralDashboardChartsDto Charts { get; set; } = new(); public List ClientGroups { get; set; } = new(); } public class GeralDashboardKpisDto { public int TotalLinhas { get; set; } public int TotalAtivas { get; set; } public GeralDashboardVivoKpiDto Vivo { get; set; } = new(); public GeralDashboardTravelKpiDto TravelMundo { get; set; } = new(); public GeralDashboardAdditionalKpiDto Adicionais { get; set; } = new(); } public class GeralDashboardVivoKpiDto { public int QtdLinhas { get; set; } public decimal TotalBaseMensal { get; set; } public decimal TotalAdicionaisMensal { get; set; } public decimal TotalGeralMensal { get; set; } public decimal MediaPorLinha { get; set; } public decimal? MinPorLinha { get; set; } public decimal? MaxPorLinha { get; set; } } public class GeralDashboardTravelKpiDto { public int ComTravel { get; set; } public int SemTravel { get; set; } public decimal TotalValue { get; set; } } public class GeralDashboardAdditionalKpiDto { public int TotalLinesWithAnyPaidAdditional { get; set; } public int TotalLinesWithNoPaidAdditional { get; set; } public List ServicesPaid { get; set; } = new(); public List ServicesNotPaid { get; set; } = new(); } public class GeralDashboardServiceKpiDto { public string ServiceName { get; set; } = string.Empty; public int CountLines { get; set; } public decimal TotalValue { get; set; } } public class GeralDashboardChartsDto { public GeralDashboardChartDto LinhasPorFranquia { get; set; } = new(); public GeralDashboardChartDto AdicionaisPagosPorServico { get; set; } = new(); public GeralDashboardChartDto TravelMundo { get; set; } = new(); } public class GeralDashboardChartDto { public List Labels { get; set; } = new(); public List Values { get; set; } = new(); public List? Totals { get; set; } } public class GeralDashboardClientGroupDto { public string Cliente { get; set; } = string.Empty; public int TotalLinhas { get; set; } public int Ativos { get; set; } public int Bloqueados { get; set; } public int LinhasVivo { get; set; } public List TagsBase { get; set; } = new(); public List TagsExtras { get; set; } = new(); public List AdicionaisPorServico { get; set; } = new(); } public class GeralDashboardClientServiceDto { public string ServiceName { get; set; } = string.Empty; public int PaidCount { get; set; } public int NotPaidCount { get; set; } public decimal TotalValue { get; set; } } public class GeralDashboardTagDto { public string Label { get; set; } = string.Empty; public string Value { get; set; } = string.Empty; } }