Skip to content

Commit

Permalink
Expondo o construtor do Pacote para que seja possível a recriação do …
Browse files Browse the repository at this point in the history
…mesmo quando o conteúdo (ZIP) estiver armazenado localmente. Atualização para o .NET 8.
  • Loading branch information
Israel Aece committed Dec 29, 2023
1 parent 4b82db8 commit 7199a2b
Show file tree
Hide file tree
Showing 10 changed files with 34 additions and 33 deletions.
20 changes: 10 additions & 10 deletions BITSIGN.Proxy/BITSIGN.Proxy.csproj
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net5.0</TargetFrameworks>
<TargetFrameworks>net8.0</TargetFrameworks>
<Authors>BITFIN Tecnologia Ltda.</Authors>
<Company>BITFIN Tecnologia Ltda.</Company>
<Copyright>Copyright 2022</Copyright>
<Description>Biblioteca .NET para consumo dos serviços (API's) fornecidos pela BITSIGN, recepção de callbacks e demais recursos para a integração entre sistemas.</Description>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.0.24</Version>
<Version>1.1.0.25</Version>
<RepositoryUrl>https://github.com/BITFIN-Software/BITSIGN.Proxy</RepositoryUrl>
<PackageTags>api, rest-api, dot-net, icp-brasil, certificados, assinaturas-digitais, assinaturas-eletronicas, cades, pades, xades</PackageTags>
<PackageId>BITFIN.BITSIGN.Proxy</PackageId>
<PackageProjectUrl>https://bitsign.com.br</PackageProjectUrl>
<PackageIcon>Icon.png</PackageIcon>
<RepositoryType>git</RepositoryType>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<AssemblyVersion>1.1.0.24</AssemblyVersion>
<FileVersion>1.1.0.24</FileVersion>
<PackageReleaseNotes>Método para retornar a política padrão de acordo com o padrão de assinatura.</PackageReleaseNotes>
<AssemblyVersion>1.1.0.25</AssemblyVersion>
<FileVersion>1.1.0.25</FileVersion>
<PackageReleaseNotes>Expondo o construtor do Pacote para que seja possível a recriação do mesmo quando o conteúdo (ZIP) estiver armazenado localmente. Atualização para o .NET 8.</PackageReleaseNotes>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Title>Biblioteca .NET para consumo dos serviços (API's) fornecidos pela BITSIGN, recepção de callbacks e demais recursos para a integração entre sistemas.</Title>
</PropertyGroup>
Expand All @@ -25,11 +25,11 @@
<LangVersion>9.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
<None Include="Icon.png" Pack="true" Visible="false" PackagePath="" />
</ItemGroup>
</Project>
14 changes: 8 additions & 6 deletions BITSIGN.Proxy/BITSIGN.Proxy.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 8 additions & 9 deletions BITSIGN.Proxy/DTOs/Pacote.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,16 @@ public class Pacote

private static readonly string[] Manifestos = new[] { ManifestoXml, ManifestoJson };

internal Pacote(byte[] dados)
/// <summary>
/// Cria o pacote a partir do conteúdo compactado.
/// </summary>
/// <param name="dados">Dados compactados contendo o manifesto e os documentos.</param>
/// <remarks>O conteúdo pode ser criado a partir do resultado da API que retorna o pacote assinado; se optar por armazenar o pacote localmente, pode-se utilizar este construtor para restaurar os documentos e acessá-los de forma mais simplificada. Para um melhor entendimento da estrutura dos pacotes, consulte este <see href="https://bitsign.com.br/documentacao#integracaoPacotes">link</see>.</remarks>
public Pacote(byte[] dados)
{
this.Vazio = (dados?.Length ?? 0) == 0;
ArgumentNullException.ThrowIfNull(nameof(dados));

if (!this.Vazio)
Deserializar(dados);
this.Deserializar(dados);
}

/// <summary>
Expand Down Expand Up @@ -70,11 +74,6 @@ internal byte[] Serializar() =>
this.Arquivos.Concat(
!(this.Lote.Anexos?.Any() ?? false) ? Enumerable.Empty<(string, byte[])>() : this.Lote.Anexos.Select(static a => ($"anexos/{a.NomeDoArquivo}", a.Conteudo))));

/// <summary>
/// Indica se o pacote está ou não vazio.
/// </summary>
public bool Vazio { get; }

/// <summary>
/// Lote de documentos com seus respectivos arquivos.
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion Testes/Exemplos/DocumentosComTemplate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public override async Task Executar(CancellationToken cancellationToken = defaul

using (var proxy = new ProxyDoServico(this.Conexao))
{
var pacote = new Pacote(new()
var pacote = new Pacote(new Lote()
{
Aplicacao = new()
{
Expand Down
2 changes: 1 addition & 1 deletion Testes/Exemplos/LogsComDepuracao.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public override async Task Executar(CancellationToken cancellationToken = defaul
{
using (var proxy = new ProxyDoServico(this.Conexao, loggerEmArquivo, geradorDeRastreio))
{
var pacote = new Pacote(new()
var pacote = new Pacote(new Lote()
{
Aplicacao = new()
{
Expand Down
2 changes: 1 addition & 1 deletion Testes/Exemplos/PadraoPAdES.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override async Task Executar(CancellationToken cancellationToken = defaul
//Criação do proxy de comunicação com o serviço.
using (var proxy = new ProxyDoServico(this.Conexao))
{
var pacote = new Pacote(new()
var pacote = new Pacote(new Lote()
{
Aplicacao = new()
{
Expand Down
2 changes: 1 addition & 1 deletion Testes/Exemplos/PadraoXAdES.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override async Task Executar(CancellationToken cancellationToken = defaul
//Criação do proxy de comunicação com o serviço.
using (var proxy = new ProxyDoServico(this.Conexao))
{
var pacote = new Pacote(new()
var pacote = new Pacote(new Lote()
{
Aplicacao = new()
{
Expand Down
2 changes: 1 addition & 1 deletion Testes/Exemplos/TratamentoDeErros.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public override async Task Executar(CancellationToken cancellationToken = defaul
{
using (var proxy = new ProxyDoServico(this.Conexao))
{
var pacote = new Pacote(new()
var pacote = new Pacote(new Lote()
{
Aplicacao = new()
{
Expand Down
2 changes: 1 addition & 1 deletion Testes/Exemplos/UploadDePacote.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public override async Task Executar(CancellationToken cancellationToken = defaul
//Criação do proxy de comunicação com o serviço.
using (var proxy = new ProxyDoServico(this.Conexao))
{
var pacote = new Pacote(new()
var pacote = new Pacote(new Lote()
{
Aplicacao = new()
{
Expand Down
4 changes: 2 additions & 2 deletions Testes/Testes.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
Expand All @@ -14,7 +14,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
</ItemGroup>

<ItemGroup>
Expand Down

0 comments on commit 7199a2b

Please sign in to comment.