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.
Refatoração dos endpoints PATCH e PUT em /api para melhor separação entre health check e processamento de invoices. Modularização do fluxo de processamento de faturas, melhorias no tratamento de arquivos PDF e leitura de requisições. Ajuste no construtor da classe Fatura para receber JsonElement. Logging e tratamento de erros aprimorados. Alteração do endpoint Kestrel para permitir acesso externo. Remoção de código duplicado e ajustes em PathBase.
- 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.
O bloco de código que verificava se o `id` era igual a `"2356193"` foi removido. Esse bloco continha apenas a inicialização e incremento de uma variável local (`i`), sem impacto funcional no restante do código.
O valor de `PermitLimit` no objeto `connRateLimiter` foi alterado de 4 para 1 na classe `Program`. Essa mudança ajusta o limitador de taxa (`RateLimiter`) para permitir apenas uma operação simultânea, reduzindo a concorrência. Essa alteração pode ajudar a evitar sobrecarga e gerenciar recursos de forma mais controlada.
- Ajustada a obtenção de `documentType` para evitar null reference.
- Removida a variável `test` e simplificado o fluxo de controle.
- Eliminado o método `InsertErrorIdStatusAsync` e sua lógica.
- Mantido o método `UpdateErrorIdStatusAsync` com chamada direta.
- Adicionado comentário sobre futura implementação de faturas via API.
- Melhorada a clareza do código, mas com impacto no tratamento de erros.
- Teste FaturaIntegrationTests para verificar divergências entre o novo e o velho método "Faturas"
- FaturaOld adicionada para fazer parte dos testes
- XUnit intalado em Download Faturas.Tests para testes
- divergencias.csv gerado para retornar os resultados
- 4Docs_2025_07.csv como entrada para testar as requisições