From 1685711fb711ab118ded30e741122689a9021a9f Mon Sep 17 00:00:00 2001 From: Adriano Serighelli Date: Thu, 4 Jan 2024 16:30:31 -0300 Subject: [PATCH] =?UTF-8?q?Aprimorada=20a=20l=C3=B3gica=20para=20somar=20a?= =?UTF-8?q?=20energia=20por=20posto=20tatif=C3=A1rio=20(P/FP).=20A=20l?= =?UTF-8?q?=C3=B3gica=20considera=20o=20"kind"=20do=20item.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Download Faturas/Fatura.cs | 48 ++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/Download Faturas/Fatura.cs b/Download Faturas/Fatura.cs index b7c17ad..b18c04c 100644 --- a/Download Faturas/Fatura.cs +++ b/Download Faturas/Fatura.cs @@ -219,6 +219,8 @@ float? dem_Reg_P = null; float? dem_Reg_FP = null; float? consumo_Reg_FP = null; + string? kind_P = string.Empty; + string? kind_FP = string.Empty; List<(string, float)> insertOthers = new List<(string, float)>(); foreach (Item item in parsedResult.items) @@ -227,44 +229,31 @@ { // Energia Ponta case ("energy", "peak"): - dadosTusd.Consumo_P = item.billed / 1000; - break; - - // Energia Fora de Ponta - case ("energy", "off-peak"): - if (item.kind == "Gen.") + if (kind_P == string.Empty) { - dadosTusd.Consumo_FP = dadosTusd.Consumo_FP + (item.billed / 1000); + kind_P = item.kind; } - else + + if (item.kind == kind_P) { - dadosTusd.Consumo_FP = item.billed / 1000; + dadosTusd.Consumo_P = dadosTusd.Consumo_P + (item.billed / 1000); } break; // Energia Fora de Ponta - case ("energy", "off-peak inductive"): - if (item.kind == "Gen.") + case ("energy", _): + if (item.period == "off-peak" || item.period == "off-peak inductive" || item.period == "off-peak capacitive" || item.period == "reserved") { - dadosTusd.Consumo_FP = dadosTusd.Consumo_FP + (item.billed / 1000); - } - else - { - dadosTusd.Consumo_FP = item.billed / 1000; - } + if (kind_FP == string.Empty) + { + kind_FP = item.kind; + } - break; - - // Energia Fora de Ponta - case ("energy", "off-peak capacitive"): - if (item.kind == "Gen.") - { - dadosTusd.Consumo_FP = dadosTusd.Consumo_FP + (item.billed / 1000); - } - else - { - dadosTusd.Consumo_FP = item.billed / 1000; + if (item.kind == kind_FP) + { + dadosTusd.Consumo_FP = dadosTusd.Consumo_FP + (item.billed / 1000); + } } break; @@ -388,6 +377,9 @@ case ("energy", "off-peak inductive green flag"): consumo_Reg_FP = consumo_Reg_FP.GetValueOrDefault() + measuredItem.measured; break; + case ("energy", "reserved"): + consumo_Reg_FP = consumo_Reg_FP.GetValueOrDefault() + measuredItem.measured; + break; } }