From 874eabe87a312abd0d621951b916bd785849a7b7 Mon Sep 17 00:00:00 2001 From: Adriano Serighelli Date: Mon, 1 Dec 2025 14:50:21 -0300 Subject: [PATCH] Refatora e atualiza projetos para .NET 9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Criado nova biblioteca de classes para os demais projetos referênciarem a classe "Fatura.cs" Atualização de bibliotecas. --- Download Faturas/Download Faturas.csproj | 13 +- Download Faturas/GlobalSuppressions.cs | 20 +- Download Faturas/Program.cs | 5 +- Faturas 4docs.sln | 8 +- .../4Docs_2025_07.csv | 0 .../FaturaIntegrationTests.cs | 2 +- .../Faturas.Tests.csproj | 6 +- .../GlobalSuppressions.cs | 6 +- .../divergencias.csv | 0 .../CustomPdfSplitter.cs | 13 +- .../DefaultDateTimeConverter.cs | 2 +- {Download Faturas => Faturas}/Fatura.cs | 239 +++++++++--------- {Download Faturas => Faturas}/FaturaOld.cs | 7 +- Faturas/Faturas.csproj | 14 + .../FloatArrayOrSingleConverter.cs | 2 +- Faturas/GlobalSuppressions.cs | 9 + {Download Faturas => Faturas}/PDFSplitter.cs | 13 +- {Download Faturas => Faturas}/RecordSet.cs | 2 +- {Download Faturas => Faturas}/Rootobject.cs | 2 +- Upload Faturas/Program.cs | 1 - Upload Faturas/Upload Faturas.csproj | 4 +- Webhook 4docs/ProcessedInvoices.cs | 2 - Webhook 4docs/Program.cs | 8 +- Webhook 4docs/Webhook 4docs.csproj | 7 +- 24 files changed, 187 insertions(+), 198 deletions(-) rename {Download Faturas.Tests => Faturas.Tests}/4Docs_2025_07.csv (100%) rename {Download Faturas.Tests => Faturas.Tests}/FaturaIntegrationTests.cs (99%) rename Download Faturas.Tests/Download Faturas.Tests.csproj => Faturas.Tests/Faturas.Tests.csproj (78%) rename {Download Faturas.Tests => Faturas.Tests}/GlobalSuppressions.cs (61%) rename {Download Faturas.Tests => Faturas.Tests}/divergencias.csv (100%) rename {Download Faturas => Faturas}/CustomPdfSplitter.cs (73%) rename {Download Faturas => Faturas}/DefaultDateTimeConverter.cs (98%) rename {Download Faturas => Faturas}/Fatura.cs (73%) rename {Download Faturas => Faturas}/FaturaOld.cs (99%) create mode 100644 Faturas/Faturas.csproj rename {Download Faturas => Faturas}/FloatArrayOrSingleConverter.cs (98%) create mode 100644 Faturas/GlobalSuppressions.cs rename {Download Faturas => Faturas}/PDFSplitter.cs (75%) rename {Download Faturas => Faturas}/RecordSet.cs (99%) rename {Download Faturas => Faturas}/Rootobject.cs (99%) diff --git a/Download Faturas/Download Faturas.csproj b/Download Faturas/Download Faturas.csproj index c09f137..31c5b68 100644 --- a/Download Faturas/Download Faturas.csproj +++ b/Download Faturas/Download Faturas.csproj @@ -2,7 +2,7 @@ Exe - net8.0-windows10.0.17763.0 + net9.0-windows10.0.17763.0 Download_Faturas enable enable @@ -27,21 +27,22 @@ - - all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + runtime; build; native; contentfiles; analyzers; buildtransitive all + + + + + True diff --git a/Download Faturas/GlobalSuppressions.cs b/Download Faturas/GlobalSuppressions.cs index a60ebd9..d628f45 100644 --- a/Download Faturas/GlobalSuppressions.cs +++ b/Download Faturas/GlobalSuppressions.cs @@ -4,13 +4,13 @@ using System.Diagnostics.CodeAnalysis; -[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1010:Opening square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] -[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1011:Closing square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Download_Faturas.FloatArrayOrSingleConverter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)~System.Single[]")] -[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1009:Closing parenthesis should be spaced correctly", Justification = "", Scope = "type", Target = "~T:Download_Faturas.CustomPdfSplitter")] -[assembly: SuppressMessage("Performance", "SYSLIB1045:Converter em 'GeneratedRegexAttribute'.", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] -[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] -[assembly: SuppressMessage("Performance", "SYSLIB1045:Converter em 'GeneratedRegexAttribute'.", Justification = "", Scope = "member", Target = "~M:Download_Faturas.FaturaOld.Processar(System.Data.OleDb.OleDbConnection)")] -[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Download_Faturas.FaturaOld.Processar(System.Data.OleDb.OleDbConnection)")] -[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1010:Opening square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Download_Faturas.FaturaOld.Processar(System.Data.OleDb.OleDbConnection)")] -[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1010:Opening square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Download_Faturas.FloatArrayOrSingleConverter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)~System.Single[]")] -[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Program.Main")] +[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1010:Opening square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1011:Closing square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Faturas.FloatArrayOrSingleConverter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)~System.Single[]")] +[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1009:Closing parenthesis should be spaced correctly", Justification = "", Scope = "type", Target = "~T:Faturas.CustomPdfSplitter")] +[assembly: SuppressMessage("Performance", "SYSLIB1045:Converter em 'GeneratedRegexAttribute'.", Justification = "", Scope = "member", Target = "~M:Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("Performance", "SYSLIB1045:Converter em 'GeneratedRegexAttribute'.", Justification = "", Scope = "member", Target = "~M:Faturas.FaturaOld.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.FaturaOld.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1010:Opening square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Faturas.FaturaOld.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("StyleCop.CSharp.SpacingRules", "SA1010:Opening square brackets should be spaced correctly", Justification = "", Scope = "member", Target = "~M:Faturas.FloatArrayOrSingleConverter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)~System.Single[]")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.Program.Main")] diff --git a/Download Faturas/Program.cs b/Download Faturas/Program.cs index 3b2a899..8f35dc7 100644 --- a/Download Faturas/Program.cs +++ b/Download Faturas/Program.cs @@ -5,11 +5,8 @@ namespace Download_Faturas { using System.Data.OleDb; - using System.Globalization; - using System.Net.Http.Headers; - using System.Text; using System.Text.Json; - using System.Text.RegularExpressions; + using Faturas; /// /// Main program class for processing invoices. diff --git a/Faturas 4docs.sln b/Faturas 4docs.sln index 423cab2..f636fa1 100644 --- a/Faturas 4docs.sln +++ b/Faturas 4docs.sln @@ -14,7 +14,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Download Faturas.Tests", "Download Faturas.Tests\Download Faturas.Tests.csproj", "{67A025C1-B7A4-48D0-8157-C0BBA550469F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Faturas.Tests", "Faturas.Tests\Faturas.Tests.csproj", "{67A025C1-B7A4-48D0-8157-C0BBA550469F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Faturas", "Faturas\Faturas.csproj", "{E0184772-C161-441B-8872-4BCBA20E4B47}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -38,6 +40,10 @@ Global {67A025C1-B7A4-48D0-8157-C0BBA550469F}.Debug|Any CPU.Build.0 = Debug|Any CPU {67A025C1-B7A4-48D0-8157-C0BBA550469F}.Release|Any CPU.ActiveCfg = Release|Any CPU {67A025C1-B7A4-48D0-8157-C0BBA550469F}.Release|Any CPU.Build.0 = Release|Any CPU + {E0184772-C161-441B-8872-4BCBA20E4B47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E0184772-C161-441B-8872-4BCBA20E4B47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E0184772-C161-441B-8872-4BCBA20E4B47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E0184772-C161-441B-8872-4BCBA20E4B47}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Download Faturas.Tests/4Docs_2025_07.csv b/Faturas.Tests/4Docs_2025_07.csv similarity index 100% rename from Download Faturas.Tests/4Docs_2025_07.csv rename to Faturas.Tests/4Docs_2025_07.csv diff --git a/Download Faturas.Tests/FaturaIntegrationTests.cs b/Faturas.Tests/FaturaIntegrationTests.cs similarity index 99% rename from Download Faturas.Tests/FaturaIntegrationTests.cs rename to Faturas.Tests/FaturaIntegrationTests.cs index c7380d2..1192e14 100644 --- a/Download Faturas.Tests/FaturaIntegrationTests.cs +++ b/Faturas.Tests/FaturaIntegrationTests.cs @@ -1,5 +1,5 @@ using System.Data.OleDb; -using System.Numerics; +using Faturas; using System.Text.Json; using Download_Faturas; diff --git a/Download Faturas.Tests/Download Faturas.Tests.csproj b/Faturas.Tests/Faturas.Tests.csproj similarity index 78% rename from Download Faturas.Tests/Download Faturas.Tests.csproj rename to Faturas.Tests/Faturas.Tests.csproj index 78b0b4d..a94c919 100644 --- a/Download Faturas.Tests/Download Faturas.Tests.csproj +++ b/Faturas.Tests/Faturas.Tests.csproj @@ -1,7 +1,7 @@  - net8.0-windows10.0.17763.0 + net9.0-windows10.0.17763.0 Download_Faturas.Tests enable enable @@ -10,12 +10,12 @@ - + - + diff --git a/Download Faturas.Tests/GlobalSuppressions.cs b/Faturas.Tests/GlobalSuppressions.cs similarity index 61% rename from Download Faturas.Tests/GlobalSuppressions.cs rename to Faturas.Tests/GlobalSuppressions.cs index d825d20..ce85327 100644 --- a/Download Faturas.Tests/GlobalSuppressions.cs +++ b/Faturas.Tests/GlobalSuppressions.cs @@ -5,6 +5,6 @@ using System.Diagnostics.CodeAnalysis; -[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Tests.FaturaIntegrationTests.DeleteTusdRecords(System.Data.OleDb.OleDbConnection,System.Double)")] -[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Tests.FaturaIntegrationTests.GetDadosTusd(System.Data.OleDb.OleDbConnection,System.Double)~Download_Faturas.RecordSet")] -[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Download_Faturas.Tests.FaturaIntegrationTests.WriteCsv(System.String,System.Collections.Generic.List{System.String})")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.Tests.FaturaIntegrationTests.DeleteTusdRecords(System.Data.OleDb.OleDbConnection,System.Double)")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.Tests.FaturaIntegrationTests.GetDadosTusd(System.Data.OleDb.OleDbConnection,System.Double)~Faturas.RecordSet")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.Tests.FaturaIntegrationTests.WriteCsv(System.String,System.Collections.Generic.List{System.String})")] diff --git a/Download Faturas.Tests/divergencias.csv b/Faturas.Tests/divergencias.csv similarity index 100% rename from Download Faturas.Tests/divergencias.csv rename to Faturas.Tests/divergencias.csv diff --git a/Download Faturas/CustomPdfSplitter.cs b/Faturas/CustomPdfSplitter.cs similarity index 73% rename from Download Faturas/CustomPdfSplitter.cs rename to Faturas/CustomPdfSplitter.cs index 009b21f..59fbd81 100644 --- a/Download Faturas/CustomPdfSplitter.cs +++ b/Faturas/CustomPdfSplitter.cs @@ -1,18 +1,9 @@ -// +// // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { - using System.Data.OleDb; - using System.Globalization; - using System.Net.Http.Headers; - using System.Reflection; - using System.Reflection.Metadata.Ecma335; - using System.Runtime.Intrinsics.X86; - using System.Text; - using System.Text.Json; - using System.Text.RegularExpressions; using iText.Kernel.Pdf; using iText.Kernel.Utils; diff --git a/Download Faturas/DefaultDateTimeConverter.cs b/Faturas/DefaultDateTimeConverter.cs similarity index 98% rename from Download Faturas/DefaultDateTimeConverter.cs rename to Faturas/DefaultDateTimeConverter.cs index 1a64cea..6b76c31 100644 --- a/Download Faturas/DefaultDateTimeConverter.cs +++ b/Faturas/DefaultDateTimeConverter.cs @@ -1,7 +1,7 @@ // // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { using System; using System.Text.Json; diff --git a/Download Faturas/Fatura.cs b/Faturas/Fatura.cs similarity index 73% rename from Download Faturas/Fatura.cs rename to Faturas/Fatura.cs index 5c1bb61..36354f2 100644 --- a/Download Faturas/Fatura.cs +++ b/Faturas/Fatura.cs @@ -2,19 +2,14 @@ // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { using System.Data.OleDb; - using System.Globalization; using System.Net.Http.Headers; using System.Reflection; - using System.Reflection.Metadata.Ecma335; - using System.Runtime.Intrinsics.X86; using System.Text; using System.Text.Json; using System.Text.RegularExpressions; - using iText.Kernel.Pdf; - using iText.Kernel.Utils; /// /// Representa uma fatura eletrônica e fornece métodos para processá-la e movê-la. @@ -46,20 +41,20 @@ namespace Download_Faturas HttpResponseMessage fatura_response = GetStatus(httpClient, Token, id); if (fatura_response.IsSuccessStatusCode) { - this.faturaParsed = JsonDocument.Parse(fatura_response.Content.ReadAsStringAsync().Result).RootElement; - this.Agrupada = this.faturaParsed.TryGetProperty("multiple", out var _); - this.Status = this.faturaParsed.GetProperty("status").GetString(); - this.Arquivo = new FileInfo(fatura_path); + 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 (this.faturaParsed.GetProperty("external").GetString() is not null) + if (faturaParsed.GetProperty("external").GetString() is not null) { - this.pagina = JsonDocument.Parse(this.faturaParsed.GetProperty("external").GetString() !).RootElement.GetProperty("origin")[0].GetProperty("page").GetInt32(); + pagina = JsonDocument.Parse(faturaParsed.GetProperty("external").GetString() !).RootElement.GetProperty("origin")[0].GetProperty("page").GetInt32(); } - if (this.Agrupada) + if (Agrupada) { - this.Agrupada_children = this.faturaParsed.GetProperty("children").EnumerateArray(); + Agrupada_children = faturaParsed.GetProperty("children").EnumerateArray(); } } } @@ -74,8 +69,8 @@ namespace Download_Faturas { // Utilizado para gerar novo token // this.token = Req_token(HttpClient).ToString(); - this.faturaParsed = fatura_Parsed; - this.Agrupada = false; + faturaParsed = fatura_Parsed; + Agrupada = false; this.id = id; } @@ -136,18 +131,18 @@ namespace Download_Faturas public void Processar(OleDbConnection conn) { // Resultado da fatura processada - if (!this.faturaParsed.TryGetProperty("result", out JsonElement a)) + if (!faturaParsed.TryGetProperty("result", out JsonElement a)) { - this.faturaParsed.TryGetProperty("json", out a); + faturaParsed.TryGetProperty("json", out a); } - Rootobject parsedResult = JsonSerializer.Deserialize(a) !; + Rootobject parsedResult = a.Deserialize() !; if (parsedResult == null || parsedResult.dates == null || parsedResult.dates.reading == null || parsedResult.locationNumber == null || parsedResult.customer == null || parsedResult.items == null || parsedResult.dates.reading.periodUntil == DateTime.MinValue) { return; } - this.dadosTusd.Mes = int.Parse(parsedResult.dates.reading.periodUntil.AddDays(-15).ToString("yMM")); + dadosTusd.Mes = int.Parse(parsedResult.dates.reading.periodUntil.AddDays(-15).ToString("yMM")); string uc = new Regex("^0+").Replace(parsedResult.locationNumber, string.Empty).Replace("/", string.Empty).Replace("-", string.Empty).Replace(".", string.Empty); @@ -188,29 +183,29 @@ namespace Download_Faturas while (reader.Read()) { // Dados cadastrais - this.dadosTusd.Cod_Smart_unidade = long.Parse(reader["Cod_Smart_unidade"].ToString() !); - this.dadosTusd.Perfil_CliqCCEE = reader["PerfilCCEE"].ToString(); - this.dadosTusd.Submercado = reader["Submercado"].ToString(); + dadosTusd.Cod_Smart_unidade = long.Parse(reader["Cod_Smart_unidade"].ToString() !); + dadosTusd.Perfil_CliqCCEE = reader["PerfilCCEE"].ToString(); + dadosTusd.Submercado = reader["Submercado"].ToString(); DateTime dataMigração = DateTime.Parse(reader["Data_de_Migracao"].ToString() !); - if (int.Parse(dataMigração.ToString("yMM")) <= this.dadosTusd.Mes) + if (int.Parse(dataMigração.ToString("yMM")) <= dadosTusd.Mes) { - this.dadosTusd.Ambiente = reader["Status_unidade"].ToString(); + dadosTusd.Ambiente = reader["Status_unidade"].ToString(); } else { - this.dadosTusd.Ambiente = "Cativo"; + dadosTusd.Ambiente = "Cativo"; } - this.dadosTusd.Grupo = reader["Grupo"].ToString(); - this.dadosTusd.Distribuidora = reader["Distribuidora"].ToString(); - this.dadosTusd.ICMS = float.Parse(reader["ICMS_TUSD"].ToString() !); - this.dadosTusd.Dem_Cont_P = float.Parse(reader["Demanda_P"].ToString() !); - this.dadosTusd.Dem_Cont_FP = float.Parse(reader["Demanda_FP"].ToString() !); - this.dadosTusd.Perfil = reader["Perfil"].ToString(); - this.PastaTUSD = new DirectoryInfo(reader["Caminho_NFs"].ToString() !.Replace("\\NFe", string.Empty, StringComparison.OrdinalIgnoreCase) + "\\TUSD"); - this.Gestao = reader["Gestao"].ToString(); - this.Empresa = reader["Cliente"].ToString(); - this.Unidade = reader["Unidade"].ToString(); + dadosTusd.Grupo = reader["Grupo"].ToString(); + dadosTusd.Distribuidora = reader["Distribuidora"].ToString(); + dadosTusd.ICMS = float.Parse(reader["ICMS_TUSD"].ToString() !); + dadosTusd.Dem_Cont_P = float.Parse(reader["Demanda_P"].ToString() !); + dadosTusd.Dem_Cont_FP = float.Parse(reader["Demanda_FP"].ToString() !); + dadosTusd.Perfil = reader["Perfil"].ToString(); + PastaTUSD = new DirectoryInfo(reader["Caminho_NFs"].ToString() !.Replace("\\NFe", string.Empty, StringComparison.OrdinalIgnoreCase) + "\\TUSD"); + Gestao = reader["Gestao"].ToString(); + Empresa = reader["Cliente"].ToString(); + Unidade = reader["Unidade"].ToString(); } } } @@ -221,8 +216,8 @@ namespace Download_Faturas sqlQuery = $"SELECT Cod_TUSD FROM Dados_TUSD WHERE Cod_TUSD = ?"; using (OleDbCommand cmd = new (sqlQuery, conn)) { - this.CodTusd = double.Parse(this.dadosTusd.Cod_Smart_unidade.ToString() + this.dadosTusd.Mes.ToString()); - cmd.Parameters.AddWithValue("?", this.CodTusd); + CodTusd = double.Parse(dadosTusd.Cod_Smart_unidade.ToString() + dadosTusd.Mes.ToString()); + cmd.Parameters.AddWithValue("?", CodTusd); using (OleDbDataReader reader = cmd.ExecuteReader()) { @@ -230,18 +225,18 @@ namespace Download_Faturas } } - if (this.dadosTusd.Cod_Smart_unidade == 0) + if (dadosTusd.Cod_Smart_unidade == 0) { - this.Status = "UNIDADE CONSUMIDORA NÃO LOCALIZADA NO BD"; + Status = "UNIDADE CONSUMIDORA NÃO LOCALIZADA NO BD"; this.uc = uc; - this.Mes = this.dadosTusd.Mes; + Mes = dadosTusd.Mes; return; } else if (tusdLanc) { - this.Status = "FATURA DUPLICADA NO BD"; + Status = "FATURA DUPLICADA NO BD"; this.uc = uc; - this.Mes = this.dadosTusd.Mes; + Mes = dadosTusd.Mes; return; } @@ -250,62 +245,62 @@ namespace Download_Faturas using (OleDbCommand cmd = new (sqlQuery, conn)) { - cmd.Parameters.AddWithValue("?", this.dadosTusd.Mes.ToString()); - cmd.Parameters.AddWithValue("?", this.dadosTusd.Distribuidora); + cmd.Parameters.AddWithValue("?", dadosTusd.Mes.ToString()); + cmd.Parameters.AddWithValue("?", dadosTusd.Distribuidora); using (OleDbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { // PIS e Cofins - this.dadosTusd.PIS = float.Parse(reader["PIS"].ToString() !); - this.dadosTusd.COFINS = float.Parse(reader["COFINS"].ToString() !); + dadosTusd.PIS = float.Parse(reader["PIS"].ToString() !); + dadosTusd.COFINS = float.Parse(reader["COFINS"].ToString() !); } } } // Dados da fatura processada - this.dadosTusd.Cod_TUSD = long.Parse(this.dadosTusd.Cod_Smart_unidade.ToString() + this.dadosTusd.Mes.ToString()); + dadosTusd.Cod_TUSD = long.Parse(dadosTusd.Cod_Smart_unidade.ToString() + dadosTusd.Mes.ToString()); switch (parsedResult.tariffModality, parsedResult.subgroup) { case ("blue", _): - this.dadosTusd.Perfil = "AZUL"; + dadosTusd.Perfil = "AZUL"; break; case ("green", _): - this.dadosTusd.Perfil = "VERDE"; + dadosTusd.Perfil = "VERDE"; break; case ("standart", _): - this.dadosTusd.Perfil = "CONVENCIONAL"; + dadosTusd.Perfil = "CONVENCIONAL"; break; case (_, "B3"): - this.dadosTusd.Perfil = "CONVENCIONAL"; + dadosTusd.Perfil = "CONVENCIONAL"; break; default: break; } - this.dadosTusd.Valor = parsedResult.totalCharges; - this.dadosTusd.Inicio_Leitura = parsedResult.dates.reading.periodFrom; - this.dadosTusd.Fim_leitura = parsedResult.dates.reading.periodUntil; + dadosTusd.Valor = parsedResult.totalCharges; + dadosTusd.Inicio_Leitura = parsedResult.dates.reading.periodFrom; + dadosTusd.Fim_leitura = parsedResult.dates.reading.periodUntil; DateTime d = DateTime.Now; - this.dadosTusd.Hora_TUSD = new DateTime(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second); - this.dadosTusd.Dem_Reativa_kvar = 0; - this.dadosTusd.Multa = 0; - this.dadosTusd.Credito = 0; - this.dadosTusd.Bandeira_RS_MWh = 0; - this.dadosTusd.FIC_DIC = 0; - this.dadosTusd.Enc_conexao = 0; - this.dadosTusd.Liminar_ICMS = 0; - this.dadosTusd.Outros = 0; - this.dadosTusd.Cred_livre = 0; - this.dadosTusd.Tempo_TUSD = 0; - this.dadosTusd.Lanc_aut = true; - this.dadosTusd.Rev_atual = true; - this.dadosTusd.Revisao = 0; + dadosTusd.Hora_TUSD = new DateTime(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second); + dadosTusd.Dem_Reativa_kvar = 0; + dadosTusd.Multa = 0; + dadosTusd.Credito = 0; + dadosTusd.Bandeira_RS_MWh = 0; + dadosTusd.FIC_DIC = 0; + dadosTusd.Enc_conexao = 0; + dadosTusd.Liminar_ICMS = 0; + dadosTusd.Outros = 0; + dadosTusd.Cred_livre = 0; + dadosTusd.Tempo_TUSD = 0; + dadosTusd.Lanc_aut = true; + dadosTusd.Rev_atual = true; + dadosTusd.Revisao = 0; // Loop entre os dados faturados na fatura int j = 0; @@ -329,9 +324,9 @@ namespace Download_Faturas if (item.kind == kind_P || item.kind == "TUSD") { - if ((item.billed / 1000) != this.dadosTusd.Consumo_P) + if (item.billed / 1000 != dadosTusd.Consumo_P) { - this.dadosTusd.Consumo_P += item.billed / 1000; + dadosTusd.Consumo_P += item.billed / 1000; } } @@ -348,9 +343,9 @@ namespace Download_Faturas if (item.kind == kind_FP) { - if ((item.billed / 1000) != this.dadosTusd.Consumo_FP) + if (item.billed / 1000 != dadosTusd.Consumo_FP) { - this.dadosTusd.Consumo_FP += item.billed / 1000; + dadosTusd.Consumo_FP += item.billed / 1000; } } } @@ -368,16 +363,16 @@ namespace Download_Faturas { if (item.period == "peak") { - this.dadosTusd.Dem_Reg_P = item.billed; - this.dadosTusd.Dem_Cont_P = item.contract; + dadosTusd.Dem_Reg_P = item.billed; + dadosTusd.Dem_Cont_P = item.contract; } else if (item.period == "off-peak") { - this.dadosTusd.Dem_Reg_FP = item.billed; - this.dadosTusd.Dem_Cont_FP = item.contract; + dadosTusd.Dem_Reg_FP = item.billed; + dadosTusd.Dem_Cont_FP = item.contract; } - if (this.dadosTusd.Perfil == "AZUL") + if (dadosTusd.Perfil == "AZUL") { if (item.period == "peak") { @@ -385,7 +380,7 @@ namespace Download_Faturas using (OleDbCommand cmd = new (sqlQuery, conn)) { cmd.Parameters.AddWithValue("@demanda", item.contract); - cmd.Parameters.AddWithValue("@cod_smart_unidade", this.dadosTusd.Cod_Smart_unidade); + cmd.Parameters.AddWithValue("@cod_smart_unidade", dadosTusd.Cod_Smart_unidade); cmd.ExecuteNonQuery(); } } @@ -395,18 +390,18 @@ namespace Download_Faturas using (OleDbCommand cmd = new (sqlQuery, conn)) { cmd.Parameters.AddWithValue("@demanda", item.contract); - cmd.Parameters.AddWithValue("@cod_smart_unidade", this.dadosTusd.Cod_Smart_unidade); + cmd.Parameters.AddWithValue("@cod_smart_unidade", dadosTusd.Cod_Smart_unidade); cmd.ExecuteNonQuery(); } } } - else if (this.dadosTusd.Perfil == "VERDE") + else if (dadosTusd.Perfil == "VERDE") { sqlQuery = $"UPDATE Dados_cadastrais SET Demanda_P = @demanda, Demanda_FP = @demanda WHERE Cod_Smart_unidade = @cod_smart_unidade"; using (OleDbCommand cmd = new (sqlQuery, conn)) { cmd.Parameters.AddWithValue("@demanda", item.contract); - cmd.Parameters.AddWithValue("@cod_smart_unidade", this.dadosTusd.Cod_Smart_unidade); + cmd.Parameters.AddWithValue("@cod_smart_unidade", dadosTusd.Cod_Smart_unidade); cmd.ExecuteNonQuery(); } } @@ -416,22 +411,22 @@ namespace Download_Faturas // Ilum. publica case ("publicLighting", _): - this.dadosTusd.Ilum_Publica = item.charge; + dadosTusd.Ilum_Publica = item.charge; break; // Energia Reativa case ("excessReactiveEnergy", _): - this.dadosTusd.En_Reativa_Mvarh += item.billed / 1000; + dadosTusd.En_Reativa_Mvarh += item.billed / 1000; break; // Demanda Reativa case ("excessReactiveDemand", _): - this.dadosTusd.Dem_Reativa_kvar += item.billed; + dadosTusd.Dem_Reativa_kvar += item.billed; break; // Bandeira Tarifaria case ("flagSurcharge", _): - this.dadosTusd.Bandeira_RS_MWh = item.charge; + dadosTusd.Bandeira_RS_MWh = item.charge; break; // Items não classificados @@ -444,7 +439,7 @@ namespace Download_Faturas sqlQuery = $"DELETE FROM Dados_TUSD_aux WHERE Cod_TUSD = @cod_tusd"; using (OleDbCommand cmd = new (sqlQuery, conn)) { - cmd.Parameters.AddWithValue("@cod_tusd", this.dadosTusd.Cod_TUSD); + cmd.Parameters.AddWithValue("@cod_tusd", dadosTusd.Cod_TUSD); cmd.ExecuteNonQuery(); } } @@ -486,22 +481,22 @@ namespace Download_Faturas } } - if (dem_Reg_P != null && (Math.Round((decimal)this.dadosTusd.Consumo_FP, 2) == Math.Round((decimal)(consumo_Reg_FP * 1.025 / 1000) !, 2))) + if (dem_Reg_P != null && Math.Round((decimal)dadosTusd.Consumo_FP, 2) == Math.Round((decimal)(consumo_Reg_FP * 1.025 / 1000) !, 2)) { - this.dadosTusd.Dem_Reg_P = (float)(dem_Reg_P * 1.025); + dadosTusd.Dem_Reg_P = (float)(dem_Reg_P * 1.025); } else if (dem_Reg_P != null) { - this.dadosTusd.Dem_Reg_P = (float)dem_Reg_P; + dadosTusd.Dem_Reg_P = (float)dem_Reg_P; } - if (dem_Reg_FP != null && (Math.Round((decimal)this.dadosTusd.Consumo_FP, 2) == Math.Round((decimal)(consumo_Reg_FP * 1.025 / 1000) !, 2))) + if (dem_Reg_FP != null && Math.Round((decimal)dadosTusd.Consumo_FP, 2) == Math.Round((decimal)(consumo_Reg_FP * 1.025 / 1000) !, 2)) { - this.dadosTusd.Dem_Reg_FP = (float)(dem_Reg_FP * 1.025); + dadosTusd.Dem_Reg_FP = (float)(dem_Reg_FP * 1.025); } else if (dem_Reg_FP != null) { - this.dadosTusd.Dem_Reg_FP = dem_Reg_FP ?? 0; + dadosTusd.Dem_Reg_FP = dem_Reg_FP ?? 0; } // var dados = this.dadosTusd.GetType().GetProperties(); @@ -532,12 +527,12 @@ namespace Download_Faturas foreach (PropertyInfo propriedade in propriedades) { string nomeColuna = propriedade.Name; - object valorColuna = propriedade.GetValue(this.dadosTusd) ?? string.Empty; + object valorColuna = propriedade.GetValue(dadosTusd) ?? string.Empty; cmd.Parameters.AddWithValue($"@{nomeColuna}", valorColuna); } // Valor do código TUSD na cláusula WHERE - cmd.Parameters.AddWithValue("@cod_tusd", this.dadosTusd.Cod_TUSD); + cmd.Parameters.AddWithValue("@cod_tusd", dadosTusd.Cod_TUSD); cmd.ExecuteNonQuery(); } @@ -549,7 +544,7 @@ namespace Download_Faturas sqlQuery = "INSERT INTO Dados_TUSD_aux (Cod_TUSD,Id,Nome,Valor,Cod_lanc) VALUES (@cod_tusd, @j, @name, @valor,0)"; using (OleDbCommand cmd = new (sqlQuery, conn)) { - cmd.Parameters.AddWithValue("@cod_tusd", this.dadosTusd.Cod_TUSD); + cmd.Parameters.AddWithValue("@cod_tusd", dadosTusd.Cod_TUSD); cmd.Parameters.AddWithValue("@j", j); cmd.Parameters.AddWithValue("@name", name); cmd.Parameters.AddWithValue("@valor", valor); @@ -590,7 +585,7 @@ namespace Download_Faturas foreach (PropertyInfo propriedade in propriedades) { string nomeColuna = propriedade.Name; - object valorColuna = propriedade.GetValue(this.dadosTusd) ?? string.Empty; + object valorColuna = propriedade.GetValue(dadosTusd) ?? string.Empty; cmd.Parameters.AddWithValue($"@{nomeColuna}", valorColuna); } @@ -605,7 +600,7 @@ namespace Download_Faturas sqlQuery = "INSERT INTO Dados_TUSD_aux (Cod_TUSD,Id,Nome,Valor,Cod_lanc) VALUES (@cod_tusd, @j, @name, @valor, 0)"; using (OleDbCommand cmd = new (sqlQuery, conn)) { - cmd.Parameters.AddWithValue("@cod_tusd", this.dadosTusd.Cod_TUSD); + cmd.Parameters.AddWithValue("@cod_tusd", dadosTusd.Cod_TUSD); cmd.Parameters.AddWithValue("@j", j); cmd.Parameters.AddWithValue("@name", name); cmd.Parameters.AddWithValue("@valor", valor); @@ -614,9 +609,9 @@ namespace Download_Faturas } } - this.Status = "FATURA INCLUIDA NO BD"; + Status = "FATURA INCLUIDA NO BD"; this.uc = uc; - this.Mes = this.dadosTusd.Mes; + Mes = dadosTusd.Mes; } /// @@ -627,22 +622,22 @@ namespace Download_Faturas { string destino; - switch (this.Status, separar) + switch (Status, separar) { case ("UNIDADE CONSUMIDORA NÃO LOCALIZADA NO BD", _): - destino = this.Arquivo?.Directory?.Parent?.FullName + $@"\5 - {this.Status}\ID {this.id!} - Mês {this.Mes} - UC {this.uc}.pdf"; + destino = Arquivo?.Directory?.Parent?.FullName + $@"\5 - {Status}\ID {id!} - Mês {Mes} - UC {uc}.pdf"; if (separar) { - _ = new PDFSplitter(this.pagina, this.Arquivo!.ToString(), destino); - this.Arquivo = new FileInfo(destino); + _ = new PDFSplitter(pagina, Arquivo!.ToString(), destino); + Arquivo = new FileInfo(destino); } else { try { - this.Arquivo!.MoveTo(destino); + Arquivo!.MoveTo(destino); } catch { @@ -653,18 +648,18 @@ namespace Download_Faturas case ("FATURA DUPLICADA NO BD", _): - destino = this.Arquivo?.Directory?.Parent?.FullName + $@"\4 - {this.Status}\ID {this.id!} - Mês {this.Mes} - Empresa {this.Empresa} - Unidade {this.Unidade}.pdf"; + destino = Arquivo?.Directory?.Parent?.FullName + $@"\4 - {Status}\ID {id!} - Mês {Mes} - Empresa {Empresa} - Unidade {Unidade}.pdf"; if (separar) { - _ = new PDFSplitter(this.pagina, this.Arquivo!.ToString(), destino); - this.Arquivo = new FileInfo(destino); + _ = new PDFSplitter(pagina, Arquivo!.ToString(), destino); + Arquivo = new FileInfo(destino); } else { try { - this.Arquivo!.MoveTo(destino); + Arquivo!.MoveTo(destino); } catch { @@ -675,25 +670,25 @@ namespace Download_Faturas case ("FATURA INCLUIDA NO BD", _): - if (this.PastaTUSD!.Exists) + if (PastaTUSD!.Exists) { - destino = this.PastaTUSD!.FullName + $@"\ID {this.id!} - Mês {this.Mes} - Empresa {this.Empresa} - Unidade {this.Unidade}.pdf"; + destino = PastaTUSD!.FullName + $@"\ID {id!} - Mês {Mes} - Empresa {Empresa} - Unidade {Unidade}.pdf"; } else { - destino = this.Arquivo?.Directory?.Parent?.FullName + $@"\6 - {this.Status}\ID {this.id!} - Mês {this.Mes} - Empresa {this.Empresa} - Unidade {this.Unidade}.pdf"; + destino = Arquivo?.Directory?.Parent?.FullName + $@"\6 - {Status}\ID {id!} - Mês {Mes} - Empresa {Empresa} - Unidade {Unidade}.pdf"; } if (separar) { - _ = new PDFSplitter(this.pagina, this.Arquivo!.ToString(), destino); - this.Arquivo = new FileInfo(destino); + _ = new PDFSplitter(pagina, Arquivo!.ToString(), destino); + Arquivo = new FileInfo(destino); } else { try { - this.Arquivo!.MoveTo(destino); + Arquivo!.MoveTo(destino); } catch { @@ -704,18 +699,18 @@ namespace Download_Faturas case ("INVALID", _): - destino = this.Arquivo?.Directory?.Parent?.FullName + $@"\7 - ERRO\ID {this.id!} - {this.Arquivo?.Name}"; + destino = Arquivo?.Directory?.Parent?.FullName + $@"\7 - ERRO\ID {id!} - {Arquivo?.Name}"; if (separar) { - _ = new PDFSplitter(this.pagina, this.Arquivo!.ToString(), destino); - this.Arquivo = new FileInfo(destino); + _ = new PDFSplitter(pagina, Arquivo!.ToString(), destino); + Arquivo = new FileInfo(destino); } else { try { - this.Arquivo!.MoveTo(destino); + Arquivo!.MoveTo(destino); } catch { @@ -727,10 +722,10 @@ namespace Download_Faturas case (_, true): - destino = this.Arquivo?.Directory?.Parent?.FullName + $@"\3 - PROCESSANDO\ID {this.id!} - {this.Arquivo?.Name}"; + destino = Arquivo?.Directory?.Parent?.FullName + $@"\3 - PROCESSANDO\ID {id!} - {Arquivo?.Name}"; - _ = new PDFSplitter(this.pagina, this.Arquivo!.ToString(), destino); - this.Arquivo = new FileInfo(destino); + _ = new PDFSplitter(pagina, Arquivo!.ToString(), destino); + Arquivo = new FileInfo(destino); break; } } diff --git a/Download Faturas/FaturaOld.cs b/Faturas/FaturaOld.cs similarity index 99% rename from Download Faturas/FaturaOld.cs rename to Faturas/FaturaOld.cs index 558adc6..3e932ec 100644 --- a/Download Faturas/FaturaOld.cs +++ b/Faturas/FaturaOld.cs @@ -2,19 +2,14 @@ // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { using System.Data.OleDb; - using System.Globalization; using System.Net.Http.Headers; using System.Reflection; - using System.Reflection.Metadata.Ecma335; - using System.Runtime.Intrinsics.X86; using System.Text; using System.Text.Json; using System.Text.RegularExpressions; - using iText.Kernel.Pdf; - using iText.Kernel.Utils; /// /// Class representing the old invoice processing logic. diff --git a/Faturas/Faturas.csproj b/Faturas/Faturas.csproj new file mode 100644 index 0000000..0332609 --- /dev/null +++ b/Faturas/Faturas.csproj @@ -0,0 +1,14 @@ + + + + net9.0 + enable + enable + + + + + + + + diff --git a/Download Faturas/FloatArrayOrSingleConverter.cs b/Faturas/FloatArrayOrSingleConverter.cs similarity index 98% rename from Download Faturas/FloatArrayOrSingleConverter.cs rename to Faturas/FloatArrayOrSingleConverter.cs index 2e5b26c..bbefb81 100644 --- a/Download Faturas/FloatArrayOrSingleConverter.cs +++ b/Faturas/FloatArrayOrSingleConverter.cs @@ -2,7 +2,7 @@ // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { using System; using System.Text.Json; diff --git a/Faturas/GlobalSuppressions.cs b/Faturas/GlobalSuppressions.cs new file mode 100644 index 0000000..21d7750 --- /dev/null +++ b/Faturas/GlobalSuppressions.cs @@ -0,0 +1,9 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +[assembly: SuppressMessage("Interoperability", "CA1416:Validar a compatibilidade da plataforma", Justification = "", Scope = "member", Target = "~M:Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] +[assembly: SuppressMessage("Style", "IDE0063:Usar a instrução 'using' simples", Justification = "", Scope = "member", Target = "~M:Faturas.Fatura.Processar(System.Data.OleDb.OleDbConnection)")] diff --git a/Download Faturas/PDFSplitter.cs b/Faturas/PDFSplitter.cs similarity index 75% rename from Download Faturas/PDFSplitter.cs rename to Faturas/PDFSplitter.cs index 63df023..a8e0486 100644 --- a/Download Faturas/PDFSplitter.cs +++ b/Faturas/PDFSplitter.cs @@ -1,18 +1,9 @@ -// +// // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { - using System.Data.OleDb; - using System.Globalization; - using System.Net.Http.Headers; - using System.Reflection; - using System.Reflection.Metadata.Ecma335; - using System.Runtime.Intrinsics.X86; - using System.Text; - using System.Text.Json; - using System.Text.RegularExpressions; using iText.Kernel.Pdf; using iText.Kernel.Utils; diff --git a/Download Faturas/RecordSet.cs b/Faturas/RecordSet.cs similarity index 99% rename from Download Faturas/RecordSet.cs rename to Faturas/RecordSet.cs index 743ab42..444063b 100644 --- a/Download Faturas/RecordSet.cs +++ b/Faturas/RecordSet.cs @@ -2,7 +2,7 @@ // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { /// /// Record set class representing invoice data. diff --git a/Download Faturas/Rootobject.cs b/Faturas/Rootobject.cs similarity index 99% rename from Download Faturas/Rootobject.cs rename to Faturas/Rootobject.cs index 12af52d..420fe9c 100644 --- a/Download Faturas/Rootobject.cs +++ b/Faturas/Rootobject.cs @@ -2,7 +2,7 @@ // Copyright (c) Smart Energia. All rights reserved. // -namespace Download_Faturas +namespace Faturas { using System.Text.Json.Serialization; diff --git a/Upload Faturas/Program.cs b/Upload Faturas/Program.cs index 582b6ac..9d070bb 100644 --- a/Upload Faturas/Program.cs +++ b/Upload Faturas/Program.cs @@ -4,7 +4,6 @@ namespace Download_Faturas { - using System.Net; using System.Net.Http.Headers; using System.Text; using System.Text.Json; diff --git a/Upload Faturas/Upload Faturas.csproj b/Upload Faturas/Upload Faturas.csproj index 8a6f9d1..248bda0 100644 --- a/Upload Faturas/Upload Faturas.csproj +++ b/Upload Faturas/Upload Faturas.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 Download_Faturas enable enable @@ -14,8 +14,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/Webhook 4docs/ProcessedInvoices.cs b/Webhook 4docs/ProcessedInvoices.cs index 89eba19..e14b4f1 100644 --- a/Webhook 4docs/ProcessedInvoices.cs +++ b/Webhook 4docs/ProcessedInvoices.cs @@ -1,6 +1,4 @@ using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Text.Json.Serialization; namespace Webhook_4docs { diff --git a/Webhook 4docs/Program.cs b/Webhook 4docs/Program.cs index fe09f58..52d21d1 100644 --- a/Webhook 4docs/Program.cs +++ b/Webhook 4docs/Program.cs @@ -1,13 +1,9 @@ -using System.Data.OleDb; +using System.Data.OleDb; using System.Text; using System.Text.Json; using System.Threading.RateLimiting; -using Download_Faturas; -using iText.Layout.Splitting; -using Microsoft.AspNetCore.Http.Extensions; +using Faturas; using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Metadata.Internal; namespace Webhook_4docs { diff --git a/Webhook 4docs/Webhook 4docs.csproj b/Webhook 4docs/Webhook 4docs.csproj index c1c32ed..6c68af3 100644 --- a/Webhook 4docs/Webhook 4docs.csproj +++ b/Webhook 4docs/Webhook 4docs.csproj @@ -1,7 +1,7 @@  - net8.0-windows10.0.17763.0 + net9.0-windows10.0.17763.0 enable enable Webhook_4docs @@ -18,12 +18,11 @@ all - - + - +