Giuliano Paschoalino 6b0a5d61d3 Refatoração e melhorias gerais no processamento de faturas
- Alterado namespace para `Download_Faturas.Tests` e adicionados cabeçalhos de copyright.
- Refatoração para uso de recursos modernos do C# (ex.: inicializações simplificadas, métodos estáticos).
- Adicionados comentários XML e arquivo `stylecop.json` para padronização.
- Melhorias em testes de integração, incluindo ajustes na lógica de comparação e manipulação de CSV.
- Refatoração das classes `Fatura` e `FaturaOld` para encapsulamento e redução de duplicação.
- Adicionado suporte a conversores JSON personalizados (`DefaultDateTimeConverter`, `FloatArrayOrSingleConverter`).
- Melhorias no arquivo `Program.cs` com novos métodos auxiliares e tratamento de erros.
- Adicionadas classes auxiliares para manipulação de PDFs (`PDFSplitter`, `CustomPdfSplitter`).
- Ajustes nos arquivos de projeto para geração de documentação XML e inclusão do `StyleCop.Analyzers`.
- Correções em valores de consumo e demanda nos arquivos CSV.
- Melhor tratamento de erros e mensagens de log para facilitar o diagnóstico.
2025-11-28 11:21:22 -03:00

249 lines
6.8 KiB
C#

// <copyright file="RecordSet.cs" company="Smart Energia">
// Copyright (c) Smart Energia. All rights reserved.
// </copyright>
namespace Download_Faturas
{
/// <summary>
/// Record set class representing invoice data.
/// </summary>
public class RecordSet
{
/// <summary>
/// Gets or sets the TUSD code.
/// </summary>
public double Cod_TUSD { get; set; }
/// <summary>
/// Gets or sets the Smart unit code.
/// </summary>
public double Cod_Smart_unidade { get; set; }
/// <summary>
/// Gets or sets the month.
/// </summary>
public int Mes { get; set; }
/// <summary>
/// Gets or sets the revision.
/// </summary>
public int Revisao { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this is the current revision.
/// </summary>
public bool Rev_atual { get; set; }
/// <summary>
/// Gets or sets the TUSD hour.
/// </summary>
public DateTime Hora_TUSD { get; set; }
/// <summary>
/// Gets or sets the TUSD time.
/// </summary>
public int Tempo_TUSD { get; set; }
/// <summary>
/// Gets or sets the CliqCCEE profile.
/// </summary>
public string? Perfil_CliqCCEE { get; set; }
/// <summary>
/// Gets or sets the submarket.
/// </summary>
public string? Submercado { get; set; }
/// <summary>
/// Gets or sets the environment.
/// </summary>
public string? Ambiente { get; set; }
/// <summary>
/// Gets or sets the distributor.
/// </summary>
public string? Distribuidora { get; set; }
/// <summary>
/// Gets or sets the group.
/// </summary>
public string? Grupo { get; set; }
/// <summary>
/// Gets or sets the profile.
/// </summary>
public string? Perfil { get; set; }
/// <summary>
/// Gets or sets the start of the reading period.
/// </summary>
public DateTime Inicio_Leitura { get; set; }
/// <summary>
/// Gets or sets the end of the reading period.
/// </summary>
public DateTime Fim_leitura { get; set; }
/// <summary>
/// Gets or sets the value.
/// </summary>
public float Valor { get; set; }
/// <summary>
/// Gets or sets the P consumption.
/// </summary>
public float Consumo_P { get; set; }
/// <summary>
/// Gets or sets the FP consumption.
/// </summary>
public float Consumo_FP { get; set; }
/// <summary>
/// Gets or sets the registered P demand.
/// </summary>
public float Dem_Reg_P { get; set; }
/// <summary>
/// Gets or sets the registered FP demand.
/// </summary>
public float Dem_Reg_FP { get; set; }
/// <summary>
/// Gets or sets the contracted P demand.
/// </summary>
public float Dem_Cont_P { get; set; }
/// <summary>
/// Gets or sets the contracted FP demand.
/// </summary>
public float Dem_Cont_FP { get; set; }
/// <summary>
/// Gets or sets the PIS value.
/// </summary>
public float PIS { get; set; }
/// <summary>
/// Gets or sets the COFINS value.
/// </summary>
public float COFINS { get; set; }
/// <summary>
/// Gets or sets the ICMS value.
/// </summary>
public float ICMS { get; set; }
/// <summary>
/// Gets or sets the public lighting value.
/// </summary>
public float Ilum_Publica { get; set; }
/// <summary>
/// Gets or sets the fine value.
/// </summary>
public float Multa { get; set; }
/// <summary>
/// Gets or sets the credit value.
/// </summary>
public float Credito { get; set; }
/// <summary>
/// Gets or sets the other values.
/// </summary>
public float Outros { get; set; }
/// <summary>
/// Gets or sets the reactive energy in Mvarh.
/// </summary>
public float En_Reativa_Mvarh { get; set; }
/// <summary>
/// Gets or sets the reactive demand in kvar.
/// </summary>
public float Dem_Reativa_kvar { get; set; }
/// <summary>
/// Gets or sets the Bandeira RS in MWh.
/// </summary>
public float Bandeira_RS_MWh { get; set; }
/// <summary>
/// Gets or sets the Liminar ICMS value.
/// </summary>
public float Liminar_ICMS { get; set; }
/// <summary>
/// Gets or sets the connection charge.
/// </summary>
public float Enc_conexao { get; set; }
/// <summary>
/// Gets or sets the FIC DIC value.
/// </summary>
public float FIC_DIC { get; set; }
// public string Hora_compliance { get; set; }
/// <summary>
/// Gets or sets the P billed demand.
/// </summary>
public float Dem_Fat_P { get; set; }
/// <summary>
/// Gets or sets the FP billed demand.
/// </summary>
public float Dem_Fat_FP { get; set; }
/// <summary>
/// Gets or sets the reactive real value.
/// </summary>
public float Reativos_reais { get; set; }
/// <summary>
/// Gets or sets the reactive real value.
/// </summary>
public float Ultrapassagem_reais { get; set; }
/// <summary>
/// Gets or sets the Bandeira real value.
/// </summary>
public float Bandeira_reais { get; set; }
/// <summary>
/// Gets or sets the compliance calculation value.
/// </summary>
public float Compliance_calc { get; set; }
/// <summary>
/// Gets or sets a value indicating whether the compliance is correct.
/// </summary>
public bool Compliance_Correto { get; set; }
/// <summary>
/// Gets or sets a value indicating whether DEVEC is declared.
/// </summary>
public bool Decl_DEVEC { get; set; }
/// <summary>
/// Gets or sets the free market credit value.
/// </summary>
public float Cred_livre { get; set; }
/// <summary>
/// Gets or sets the internal comments.
/// </summary>
public string? Coment_int { get; set; }
/// <summary>
/// Gets or sets the client comments.
/// </summary>
public string? Coment_cli { get; set; }
/// <summary>
/// Gets or sets a value indicating whether the entry is automatic.
/// </summary>
public bool Lanc_aut { get; set; }
}
}