line-gestao-api/Dtos/GeralDashboardInsightsDto.cs

105 lines
3.7 KiB
C#

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<GeralDashboardClientGroupDto> 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 List<GeralDashboardLineTotalDto> TotaisLine { get; set; } = new();
}
public class GeralDashboardLineTotalDto
{
public string Tipo { get; set; } = string.Empty;
public int QtdLinhas { get; set; }
public decimal ValorTotalLine { get; set; }
public decimal LucroTotalLine { get; set; }
}
public class GeralDashboardVivoKpiDto
{
public int QtdLinhas { get; set; }
public decimal TotalFranquiaGb { 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<GeralDashboardServiceKpiDto> ServicesPaid { get; set; } = new();
public List<GeralDashboardServiceKpiDto> 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 GeralDashboardChartDto TipoChip { get; set; } = new();
}
public class GeralDashboardChartDto
{
public List<string> Labels { get; set; } = new();
public List<int> Values { get; set; } = new();
public List<decimal>? 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<GeralDashboardTagDto> TagsBase { get; set; } = new();
public List<GeralDashboardTagDto> TagsExtras { get; set; } = new();
public List<GeralDashboardClientServiceDto> 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;
}
}