diff --git a/Download Faturas/Fatura.cs b/Download Faturas/Fatura.cs index f86e4b4..a357926 100644 --- a/Download Faturas/Fatura.cs +++ b/Download Faturas/Fatura.cs @@ -268,35 +268,19 @@ List<(string, float)> insertOthers = new List<(string, float)>(); foreach (Item item in parsedResult.items) { - switch (item.type, item.period) + switch (item.type, item.period, item.kind) { // Energia Ponta - case ("energy", "peak"): - if (kind_P == string.Empty) - { - kind_P = item.kind; - } - - if (item.kind == kind_P) - { - dadosTusd.Consumo_P += item.billed / 1000; - } + case ("energy", "peak", "TUSD"): + dadosTusd.Consumo_P += item.billed / 1000; break; // Energia Fora de Ponta - case ("energy", _): + case ("energy", _, "TUSD"): if (item.period == "off-peak" || item.period == "off-peak inductive" || item.period == "off-peak capacitive" || item.period == "reserved") { - if (kind_FP == string.Empty) - { - kind_FP = item.kind; - } - - if (item.kind == kind_FP) - { - dadosTusd.Consumo_FP += item.billed / 1000; - } + dadosTusd.Consumo_FP += item.billed / 1000; } else { @@ -306,7 +290,7 @@ break; // Demanda - case ("demand", _): + case ("demand", _, _): if (item.contract != 0) { @@ -359,27 +343,27 @@ break; // Ilum. publica - case ("publicLighting", _): + case ("publicLighting", _, _): dadosTusd.Ilum_Publica = item.charge; break; // Energia Reativa - case ("excessReactiveEnergy", _): + case ("excessReactiveEnergy", _, _): dadosTusd.En_Reativa_Mvarh += item.billed / 1000; break; // Demanda Reativa - case ("excessReactiveDemand", _): + case ("excessReactiveDemand", _, _): dadosTusd.Dem_Reativa_kvar += item.billed; break; // Bandeira Tarifaria - case ("flagSurcharge", _): + case ("flagSurcharge", _, _): dadosTusd.Bandeira_RS_MWh = item.charge; break; // Items não classificados - case ("other", _): + case ("other", _, _): j++; // Exclui os items lançados anteriormente para a fatura e cria a instrução SQL para inserir os novos items