From bf824a885dc831f4fa9110f019fc690bd9ff63aa Mon Sep 17 00:00:00 2001 From: Giuliano Paschoalino Date: Tue, 10 Feb 2026 10:29:12 -0300 Subject: [PATCH] =?UTF-8?q?Adiciona=20novo=20construtor=20=C3=A0=20classe?= =?UTF-8?q?=20Fatura=20com=20HttpClient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inclui uma sobrecarga do construtor de Fatura que recebe id, fatura_path e HttpClient, realiza requisição para obter status da fatura, faz parsing do JSON de resposta e inicializa propriedades relevantes, incluindo suporte a faturas agrupadas. --- Faturas/Fatura.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Faturas/Fatura.cs b/Faturas/Fatura.cs index 6bead12..4291864 100644 --- a/Faturas/Fatura.cs +++ b/Faturas/Fatura.cs @@ -54,7 +54,30 @@ namespace Faturas Agrupada_children = faturaParsed.GetProperty("children").EnumerateArray(); } } + public Fatura(string id, string fatura_path, HttpClient httpClient) + { + // Utilizado para gerar novo token + // this.token = Req_token(HttpClient).ToString(); + HttpResponseMessage fatura_response = GetStatus(httpClient, Token, id); + if (fatura_response.IsSuccessStatusCode) + { + faturaParsed = JsonDocument.Parse(fatura_response.Content.ReadAsStringAsync().Result).RootElement; + Agrupada = faturaParsed.TryGetProperty("multiple", out var _); + Status = faturaParsed.GetProperty("status").GetString(); + Arquivo = new FileInfo(fatura_path); + this.id = id; + if (faturaParsed.GetProperty("external").GetString() is not null) + { + pagina = JsonDocument.Parse(faturaParsed.GetProperty("external").GetString()!).RootElement.GetProperty("origin")[0].GetProperty("page").GetInt32(); + } + + if (Agrupada) + { + Agrupada_children = faturaParsed.GetProperty("children").EnumerateArray(); + } + } + } /// /// Initializes a new instance of the class. /// Inicializa uma nova instância da classe para faturas já processadas.