Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migração de NFe para .net Standard (.netCore + .netFramework) #1013

Merged
merged 47 commits into from
Sep 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
df79c0f
criado projetos
danilobreda Jul 9, 2019
d721594
movido servicos do nfe
danilobreda Jul 9, 2019
2fbba35
movido projeto wsdl, NFe.Utils.Annotations arrumado, colocado em Shar…
danilobreda Jul 9, 2019
095fbff
criado shared project do danfe
danilobreda Jul 11, 2019
d403bdb
alteracoes de danfe iniciais
danilobreda Jul 15, 2019
b869b13
conversão para utf8
danilobreda Jul 15, 2019
4f51595
Migrado DANFE (NFe e NFe Eventos) em .net Standard, falta NFCe.
danilobreda Jul 16, 2019
7d72c44
arrumado erro de UTF8
danilobreda Jul 16, 2019
a4ad4d2
algumas modificacoes no danfe para carregamento de confiuracoes e ini…
danilobreda Jul 19, 2019
f87fe95
pasta conversão
danilobreda Jul 19, 2019
426bd13
adicionado retorno em stream do danfe
danilobreda Jul 22, 2019
4701708
Retirado algumas classes do projeto shared onde não funcionam no .net…
danilobreda Jul 23, 2019
00b26a6
feito a primeiro exemplo de conversao do wsdl
danilobreda Jul 23, 2019
a37bef1
comentado elementos do ServicoNfeFactory para testes e migração
danilobreda Jul 23, 2019
a79a621
Arquivos convertidos para UTF8 BOM
danilobreda Jul 23, 2019
c06b985
feito a parte de STATUS de NFE, com alguns estados não implementado
danilobreda Jul 23, 2019
fa85a8f
parte inicial autorizacao
danilobreda Jul 23, 2019
13cb646
terminado a parte de autorizacao
danilobreda Jul 23, 2019
91f9ae2
feito nfceCsc
danilobreda Jul 24, 2019
6fd9d40
implementação/migracao do consulta protocolo
danilobreda Jul 24, 2019
cf15572
criado classes de distribuicaodfe e download (ainda não implementadas)
danilobreda Jul 24, 2019
c840e05
Migrado eventos da nfe
danilobreda Jul 24, 2019
ee4f63c
implementado inutilizacao (varias versoes) e recepcao (v2.0)
danilobreda Jul 24, 2019
667df53
implementado e migrado RetAutorizacao
danilobreda Jul 24, 2019
2a0f0bc
arrumado alguns problemas de identação
danilobreda Jul 24, 2019
d125d10
Retirado os relatorios dos projetos especificos e colocados em projet…
danilobreda Jul 25, 2019
92eab85
Revert "Retirado os relatorios dos projetos especificos e colocados e…
danilobreda Jul 26, 2019
2d2e7e2
alteracoes para resolver conflitos com alteracoes feitas no retrato a…
danilobreda Jul 26, 2019
2d362c0
Merge branch 'master' into nfecoreport
marcosgerene Jul 27, 2019
cb0f4c4
removido arquivos que estavam em pasta errada do nfe.danfe.fast e mud…
danilobreda Aug 1, 2019
3ab7f83
alteracoes no DanfeFrNfe para que funcione corretamente e de erros ma…
danilobreda Aug 1, 2019
4dc4f59
Arrumado arquivos frx ficava gerando sozinho no output, causando prob…
danilobreda Aug 2, 2019
4a3e7e4
Merge branch 'nfecorereport' into nfecoreport
marcosgerene Aug 28, 2019
73f669e
Merge pull request #38 from danilobreda/nfecoreport
marcosgerene Aug 28, 2019
1ba83fa
NFeCore - AppTeste - Adicionado DistribuicaoDFe
marcosgerene Aug 28, 2019
6f56d07
faltando virgula em um enum
danilobreda Aug 28, 2019
a3783d7
Merge pull request #1 from marcosgerene/nfecorereport
danilobreda Aug 28, 2019
1a168d4
Merge remote-tracking branch 'origin/nfecoreport' into nfecoreport
danilobreda Aug 28, 2019
fd396c7
adicionado novos dados do generatereport para resolução de comflito
danilobreda Aug 29, 2019
16f80c1
Merge branch 'master' into nfecoreport
danilobreda Aug 29, 2019
437cf9c
Alteracao do readme e erros de português
danilobreda Aug 29, 2019
6523552
alteracoes do nferetrato (arrumado conflitos)
danilobreda Sep 5, 2019
9253dd4
atualizado o relatorio retrato
danilobreda Sep 5, 2019
5b2d835
merge feito com master e resolvido conflitos nfecoreport
danilobreda Sep 5, 2019
e21c5d8
Merge branch 'master' into nfecoreport
danilobreda Sep 5, 2019
584745d
Atualizado projeto de teste AppTeste.NetCore para .net core 2.2 assim…
danilobreda Sep 10, 2019
5b7fdc7
Voltado traço de summary do CTe.Classes.Informacoes.Tipos
danilobreda Sep 16, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions CTe.AppTeste.NetCore/Entidades/ConfigWebService.cs
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
/********************************************************************************/
/********************************************************************************/
/* Projeto: Biblioteca ZeusNFe */
/* Biblioteca C# para emiss�o de Nota Fiscal Eletr�nica - NFe e Nota Fiscal de */
/* Consumidor Eletr�nica - NFC-e (http://www.nfe.fazenda.gov.br) */
/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */
/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */
/* */
/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */
/* Zeusdev Tecnologia LTDA ME */
/* */
/* Voc� pode obter a �ltima vers�o desse arquivo no GitHub */
/* Você pode obter a última versão desse arquivo no GitHub */
/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */
/* */
/* */
/* Esta biblioteca software livre; voc� pode redistribu�-la e/ou modific�-la */
/* sob os termos da Licen�a P�blica Geral Menor do GNU conforme publicada pela */
/* Free Software Foundation; tanto a vers�o 2.1 da Licen�a, ou (a seu crit�rio) */
/* qualquer vers�o posterior. */
/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */
/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */
/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */
/* qualquer versão posterior. */
/* */
/* Esta biblioteca � distribu�da na expectativa de que seja �til, por�m, SEM */
/* NENHUMA GARANTIA; nem mesmo a garantia impl�cita de COMERCIABILIDADE OU */
/* ADEQUA��O A UMA FINALIDADE ESPEC�FICA. Consulte a Licen�a P�blica Geral Menor*/
/* do GNU para mais detalhes. (Arquivo LICEN�A.TXT ou LICENSE.TXT) */
/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */
/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */
/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/
/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */
/* */
/* Voc� deve ter recebido uma c�pia da Licen�a P�blica Geral Menor do GNU junto*/
/* com esta biblioteca; se n�o, escreva para a Free Software Foundation, Inc., */
/* no endere�o 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */
/* Voc� tamb�m pode obter uma copia da licen�a em: */
/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/
/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */
/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */
/* Você também pode obter uma copia da licença em: */
/* http://www.opensource.org/licenses/lgpl-license.php */
/* */
/* Zeusdev Tecnologia LTDA ME - [email protected] */
/* http://www.zeusautomacao.com.br/ */
/* Rua Comendador Francisco jos� da Cunha, 111 - Itabaiana - SE - 49500-000 */
/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */
/********************************************************************************/
using System;
using CTe.Classes.Servicos.Tipos;
Expand Down
114 changes: 114 additions & 0 deletions DFe.Utils.Standard/CertificadoDigitaoUtil.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
using System;
using System.IO;
using System.Security;
using System.Security.Cryptography.X509Certificates;

namespace DFe.Utils.Standard
{
public class CertificadoDigitaoUtil
{
/// <summary>
/// Retorna o certificado que está no caminho especificado
/// </summary>
/// <param name="caminho">Caminho do certificado (.pfx)</param>
/// <param name="password">string representando a senha do certificado</param>
public static X509Certificate2 ObterDoCaminho(string caminho, string password)
{
caminho = ArrumaCaminho(caminho);
SecureString stringSegura = null;
try
{
stringSegura = new SecureString();
if ((password.Length > 0))
{
foreach (Char caractere in password.ToCharArray())
{
stringSegura.AppendChar(caractere);
}
}
return ObterDoCaminho(caminho, stringSegura);
}
catch
{
throw;
}
}

/// <summary>
/// Retorna o certificado que está no caminho especificado
/// </summary>
/// <param name="caminho">Caminho do certificado (.pfx)</param>
/// <param name="password">SecureString representando a senha do certificado</param>
/// <returns></returns>
public static X509Certificate2 ObterDoCaminho(string caminho, SecureString password)
{
caminho = ArrumaCaminho(caminho);
if (!caminho.ToLower().EndsWith(".pfx"))
{
throw new Exception("Caminho do certificado deve terminar com '.pfx'");
}

if (!File.Exists(caminho))
{
throw new Exception("Certificado não se encontra no caminho especificado");
}

var cert = new X509Certificate2(caminho, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
return cert;
}

/// <summary>
/// Retorna o certificado que está em bytes
/// </summary>
/// <param name="bytes">array de byte do certificado</param>
/// <param name="password">string representando a senha do certificado</param>
/// <returns></returns>
public static X509Certificate2 ObterDosBytes(byte[] bytes, string password)
{
SecureString stringSegura = null;
try
{
stringSegura = new SecureString();
if ((password.Length > 0))
{
foreach (Char caractere in password.ToCharArray())
{
stringSegura.AppendChar(caractere);
}
}

return ObterDosBytes(bytes, stringSegura);
}
catch
{
throw;
}
}

/// <summary>
/// Retorna o certificado que está em bytes
/// </summary>
/// <param name="bytes">array de byte do certificado</param>
/// <param name="password">SecureString senha do certificado</param>
/// <returns></returns>
public static X509Certificate2 ObterDosBytes(byte[] bytes, SecureString password)
{
var cert = new X509Certificate2(bytes, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
return cert;
}

/// <summary>
/// Arruma o path caso tenha sido escrito incorretamente
/// </summary>
/// <param name="caminho">Caminho do arquivo + pastas</param>
/// <returns></returns>
private static string ArrumaCaminho(string caminho)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

esse arruma caminho , não poderia ser um Path.Combine , não?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Esse caminho vem da digitação do usuário, por isso é necessário esse "arruma". Essa classe utils é utilizada apenas para o console AppTeste.

{
caminho = caminho.Replace(@"/", @"\");
caminho = caminho.Replace(@"\\", @"\");
caminho = caminho.Replace("\"", ""); //remove "
caminho = caminho.Replace("\'", ""); //remove '
return caminho;
}
}
}
1 change: 0 additions & 1 deletion DFe.Utils/DFe.Utils.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="CertificadoDigitalUtils.cs" />
<Compile Include="Properties\Annotations.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
Expand Down
44 changes: 44 additions & 0 deletions NFe.AppTeste.NetCore/ConfiguracaoApp.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using DFe.Classes.Flags;
using DFe.Utils;
using NFe.Classes.Informacoes.Emitente;
using NFe.Classes.Informacoes.Identificacao.Tipos;
using NFe.Utils;
using NFe.Utils.Email;
using System.Net;

namespace NFe.AppTeste.NetCore
{
public class ConfiguracaoApp
{
private ConfiguracaoServico _cfgServico;

public ConfiguracaoApp()
{
CfgServico = ConfiguracaoServico.Instancia;
CfgServico.tpAmb = TipoAmbiente.Homologacao;
CfgServico.tpEmis = TipoEmissao.teNormal;
CfgServico.ProtocoloDeSeguranca = ServicePointManager.SecurityProtocol;
Emitente = new emit { CPF = "", CRT = CRT.SimplesNacional };
EnderecoEmitente = new enderEmit();
ConfiguracaoEmail = new ConfiguracaoEmail("[email protected]", "senha", "Envio de NFE", Properties.Resources.MensagemHtml, "smtp.dominio.com", 587, true, true);
}

public ConfiguracaoServico CfgServico
{
get
{
ConfiguracaoServico.Instancia.CopiarPropriedades(_cfgServico);
return _cfgServico;
}
set
{
_cfgServico = value;
ConfiguracaoServico.Instancia.CopiarPropriedades(value);
}
}

public emit Emitente { get; set; }
public enderEmit EnderecoEmitente { get; set; }
public ConfiguracaoEmail ConfiguracaoEmail { get; set; }
}
}
31 changes: 31 additions & 0 deletions NFe.AppTeste.NetCore/NFe.AppTeste.NetCore.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\DFe.Classes.Standard\DFe.Classes.Standard.csproj" />
<ProjectReference Include="..\DFe.Utils.Standard\DFe.Utils.Standard.csproj" />
<ProjectReference Include="..\NFe.Classes.Standard\NFe.Classes.Standard.csproj" />
<ProjectReference Include="..\NFe.Servicos.Standard\NFe.Servicos.Standard.csproj" />
<ProjectReference Include="..\NFe.Utils.Standard\NFe.Utils.Standard.csproj" />
</ItemGroup>

<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>

<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>

</Project>
Loading