Skip to content

Commit

Permalink
Merge pull request #9 from adeniltonbs/master
Browse files Browse the repository at this point in the history
Update
  • Loading branch information
adrbarros authored Apr 13, 2017
2 parents 19a41fe + fafbb28 commit 4be6d72
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 15 deletions.
8 changes: 8 additions & 0 deletions DFe.Utils/Assinatura/CertificadoDigital.cs
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,14 @@ public static X509Certificate2 ObterCertificado(ConfiguracaoCertificado configur
_certificado = ObterDadosCertificado(configuracaoCertificado);
return _certificado;
}


public static void clearCache()
{
if (_certificado != null)
_certificado =null;

}
}

internal static class MetodosNativos
Expand Down
34 changes: 27 additions & 7 deletions NFe.AppTeste/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
using WebBrowser = System.Windows.Controls.WebBrowser;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using DFe.Classes.Extensoes;
using NFe.Danfe.Base;
using NFe.Danfe.Base.Fontes;
using NFe.Danfe.Base.NFCe;
Expand Down Expand Up @@ -241,6 +242,9 @@ private void BtnConsultaXml_Click(object sender, RoutedEventArgs e)
#region Consulta Situação NFe pelo XML

var arquivoXml = Funcoes.BuscarArquivoXml();
if (string.IsNullOrWhiteSpace(arquivoXml))
return;

var nfe = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);
var chave = nfe.infNFe.Id.Substring(3);

Expand Down Expand Up @@ -316,7 +320,10 @@ private void GeranNfe(VersaoServico versaoServico, ModeloDocumento modelo)

_nfe = GetNf(Convert.ToInt32(numero), modelo, versaoServico);
_nfe.Assina();
_nfe.infNFeSupl = new infNFeSupl() { qrCode = _nfe.infNFeSupl.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoCsc.CIdToken, _configuracoes.ConfiguracaoCsc.Csc) };

if (_nfe.infNFe.ide.mod == ModeloDocumento.NFCe)
_nfe.infNFeSupl = new infNFeSupl() { qrCode = _nfe.infNFeSupl.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoCsc.CIdToken, _configuracoes.ConfiguracaoCsc.Csc) };

_nfe.Valida();

#endregion
Expand Down Expand Up @@ -386,10 +393,15 @@ private void BtnCriareEnviar3_Click(object sender, RoutedEventArgs e)
_nfe = GetNf(Convert.ToInt32(numero), _configuracoes.CfgServico.ModeloDocumento,
_configuracoes.CfgServico.VersaoNFeAutorizacao);
_nfe.Assina(); //não precisa validar aqui, pois o lote será validado em ServicosNFe.NFeAutorizacao
//A URL do QR-Code deve ser gerada em um objeto nfe já assinado, pois na URL vai o DigestValue que é gerado por ocasião da assinatura
_nfe.infNFeSupl = new infNFeSupl() { qrCode = _nfe.infNFeSupl.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoCsc.CIdToken, _configuracoes.ConfiguracaoCsc.Csc) }; //Define a URL do QR-Code.

if (_nfe.infNFe.ide.mod == ModeloDocumento.NFCe)
{
//A URL do QR-Code deve ser gerada em um objeto nfe já assinado, pois na URL vai o DigestValue que é gerado por ocasião da assinatura
_nfe.infNFeSupl = new infNFeSupl() { qrCode = _nfe.infNFeSupl.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoCsc.CIdToken, _configuracoes.ConfiguracaoCsc.Csc) }; //Define a URL do QR-Code.
}

var servicoNFe = new ServicosNFe(_configuracoes.CfgServico);
var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Assincrono, new List<Classes.NFe> {_nfe}, true/*Envia a mensagem compactada para a SEFAZ*/);
var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Assincrono, new List<Classes.NFe> {_nfe}, false/*Envia a mensagem compactada para a SEFAZ*/);
//Para consumir o serviço de forma síncrona, use a linha abaixo:
//var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Sincrono, new List<Classes.NFe> { _nfe }, true/*Envia a mensagem compactada para a SEFAZ*/);

Expand Down Expand Up @@ -724,7 +736,9 @@ private void ExibeNfe()
private void CarregaArquivoNfe()
{
var arquivoXml = Funcoes.BuscarArquivoXml();
_nfe = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);

if (!string.IsNullOrWhiteSpace(arquivoXml))
_nfe = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);
}

private void BtnValida_Click(object sender, RoutedEventArgs e)
Expand Down Expand Up @@ -797,6 +811,10 @@ private void BtnAdicionaNfeproc_Click(object sender, RoutedEventArgs e)
try
{
var arquivoXml = Funcoes.BuscarArquivoXml();

if (string.IsNullOrWhiteSpace(arquivoXml))
return;

var nfe = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);
var chave = nfe.infNFe.Id.Substring(3);

Expand Down Expand Up @@ -945,16 +963,18 @@ protected virtual infNFe GetInf(int numero, ModeloDocumento modelo, VersaoServic

protected virtual ide GetIdentificacao(int numero, ModeloDocumento modelo, VersaoServico versao)
{
var estado = Estado.SE;

var ide = new ide
{
cUF = Estado.SE,
cUF = estado.SiglaParaEstado(_configuracoes.Emitente.enderEmit.UF),
natOp = "VENDA",
indPag = IndicadorPagamento.ipVista,
mod = modelo,
serie = 1,
nNF = numero,
tpNF = TipoNFe.tnSaida,
cMunFG = 2802908,
cMunFG = _configuracoes.EnderecoEmitente.cMun,
tpEmis = _configuracoes.CfgServico.tpEmis,
tpImp = TipoImpressao.tiRetrato,
cNF = "1234",
Expand Down
4 changes: 2 additions & 2 deletions NFe.Servicos/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,5 @@
// utilizando o '*' como mostrado abaixo:
// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("1.0.1.456")]
[assembly: AssemblyFileVersion("1.0.1.456")]
[assembly: AssemblyVersion("1.0.1.457")]
[assembly: AssemblyFileVersion("1.0.1.457")]
26 changes: 22 additions & 4 deletions NFe.Servicos/ServicosNFe.cs
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@ public RetornoNfeDistDFeInt NfeDistDFeInteresse(string ufAutor, string documento
string conteudo = Compressao.Unzip(retConsulta.loteDistDFeInt[i].XmlNfe);
string chNFe = string.Empty;

if (conteudo.StartsWith("<retNFe"))
if (conteudo.StartsWith("<resNFe"))
{
var retConteudo =
FuncoesXml.XmlStringParaClasse<Classes.Servicos.DistribuicaoDFe.Schemas.resNFe>(conteudo);
Expand All @@ -876,8 +876,21 @@ public RetornoNfeDistDFeInt NfeDistDFeInteresse(string ufAutor, string documento
conteudo);
chNFe = procEventoNFeConteudo.retEvento.infEvento.chNFe;
}
else if (conteudo.StartsWith("<resEvento"))
{
var resEventoConteudo =
FuncoesXml.XmlStringParaClasse<Classes.Servicos.DistribuicaoDFe.Schemas.resEvento>(
conteudo);
chNFe = resEventoConteudo.chNFe;
}

string[] schema = retConsulta.loteDistDFeInt[i].schema.Split('_');

if (chNFe == string.Empty)
{
chNFe = DateTime.Now.ParaDataHoraString() + "_SEMCHAVE_";
}

SalvarArquivoXml(chNFe + "_" + schema[0] + ".xml", conteudo);

}
Expand Down Expand Up @@ -1159,7 +1172,7 @@ public RetornoNFeRetAutorizacao NFeRetAutorizacao(string recibo)
/// Consulta a Situação da NFe
/// </summary>
/// <returns>Retorna um objeto da classe RetornoNfeConsultaProtocolo com os dados da Situação da NFe</returns>
public RetornoNfeDownload NfeDownloadNf(string cnpj, List<string> chaves)
public RetornoNfeDownload NfeDownloadNf(string cnpj, List<string> chaves, string nomeSaida = "")
{
var versaoServico = ServicoNFe.NfeDownloadNF.VersaoServicoParaString(_cFgServico.VersaoNfeDownloadNF);

Expand Down Expand Up @@ -1196,7 +1209,12 @@ public RetornoNfeDownload NfeDownloadNf(string cnpj, List<string> chaves)
var dadosDownload = new XmlDocument();
dadosDownload.LoadXml(xmlDownload);

SalvarArquivoXml(cnpj + "-ped-down.xml", xmlDownload);
if (nomeSaida == "")
{
nomeSaida = cnpj;
}

SalvarArquivoXml(nomeSaida + "-ped-down.xml", xmlDownload);

XmlNode retorno;
try
Expand All @@ -1211,7 +1229,7 @@ public RetornoNfeDownload NfeDownloadNf(string cnpj, List<string> chaves)
var retornoXmlString = retorno.OuterXml;
var retDownload = new retDownloadNFe().CarregarDeXmlString(retornoXmlString);

SalvarArquivoXml(cnpj + "-down.xml", retornoXmlString);
SalvarArquivoXml(nomeSaida + "-down.xml", retornoXmlString);

return new RetornoNfeDownload(pedDownload.ObterXmlString(), retDownload.ObterXmlString(), retornoXmlString, retDownload);

Expand Down
4 changes: 2 additions & 2 deletions NFe.Utils/InformacoesSuplementares/ExtinfNFeSupl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,9 @@ private static List<EnderecoConsultaPublicaNfce> CarregarUrls()
new EnderecoConsultaPublicaNfce(Estado.DF, TipoAmbiente.taHomologacao, TipoUrlConsultaPublica.UrlConsulta, "http://dec.fazenda.df.gov.br/nfce"),

new EnderecoConsultaPublicaNfce(Estado.GO, TipoAmbiente.taProducao, TipoUrlConsultaPublica.UrlQrCode, "http://nfe.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe"),
new EnderecoConsultaPublicaNfce(Estado.GO, TipoAmbiente.taProducao, TipoUrlConsultaPublica.UrlConsulta, "http://nfe.sefaz.go.gov.br/nfeweb/sites/nfce/ConsultaDANFENFCe"),
new EnderecoConsultaPublicaNfce(Estado.GO, TipoAmbiente.taProducao, TipoUrlConsultaPublica.UrlConsulta, "http://www.nfce.go.gov.br/post/ver/214278/consumid"),
new EnderecoConsultaPublicaNfce(Estado.GO, TipoAmbiente.taHomologacao, TipoUrlConsultaPublica.UrlQrCode, "http://homolog.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe"),
new EnderecoConsultaPublicaNfce(Estado.GO, TipoAmbiente.taHomologacao, TipoUrlConsultaPublica.UrlConsulta, "http://homolog.sefaz.go.gov.br/nfeweb/sites/nfce/ConsultaDANFENFCe"),
new EnderecoConsultaPublicaNfce(Estado.GO, TipoAmbiente.taHomologacao, TipoUrlConsultaPublica.UrlConsulta, "http://www.nfce.go.gov.br/post/ver/214413/consulta-nfc-e-homologacao"),

new EnderecoConsultaPublicaNfce(Estado.ES, TipoAmbiente.taProducao, TipoUrlConsultaPublica.UrlQrCode, "http://app.sefaz.es.gov.br/ConsultaNFCe/qrcode.aspx"),
new EnderecoConsultaPublicaNfce(Estado.ES, TipoAmbiente.taProducao, TipoUrlConsultaPublica.UrlConsulta, "http://app.sefaz.es.gov.br/ConsultaNFCe"),
Expand Down

0 comments on commit 4be6d72

Please sign in to comment.