private static async Task DownloadXml() { try { Console.WriteLine("Informe a chave da NFe para download:"); string chave = Console.ReadLine(); Console.WriteLine("Deseja manifestar a NFe? (S/N)"); bool manifestar = string.Equals(Console.ReadLine().Trim().ToLower(), "s"); using (var _certificado = CertificadoDigital.ObterCertificado(_configuracoes.CfgServico.Certificado)) using (var servicoNFe = new ServicosNFe(_configuracoes.CfgServico, _certificado)) { if (manifestar) { try { var retornoManifestacao = servicoNFe.RecepcaoEventoManifestacaoDestinatario(idlote: 1, sequenciaEvento: 1, chavesNFe: new string[] { chave }, nFeTipoEventoManifestacaoDestinatario: NFeTipoEvento.TeMdCienciaDaOperacao, cpfcnpj: _configuracoes.Emitente.CNPJ, justificativa: null); Console.WriteLine($"Retorno da manifestação: {retornoManifestacao.RetornoStr}"); } catch (Exception ex) { Console.WriteLine($"Manifestação: {ex.Message}"); } } var retornoNFeDistDFe = servicoNFe.NfeDistDFeInteresse(ufAutor: _configuracoes.EnderecoEmitente.UF.ToString(), documento: _configuracoes.Emitente.CNPJ, chNFE: chave); if (retornoNFeDistDFe.Retorno.loteDistDFeInt == null) { await Task.Delay(2000); //https://github.com/ZeusAutomacao/DFe.NET/issues/568#issuecomment-339862458 retornoNFeDistDFe = servicoNFe.NfeDistDFeInteresse(ufAutor: _configuracoes.EnderecoEmitente.UF.ToString(), documento: _configuracoes.Emitente.CNPJ, chNFE: chave); if (retornoNFeDistDFe.Retorno.loteDistDFeInt == null) { throw new Exception(retornoNFeDistDFe.Retorno.xMotivo); } } if ((retornoNFeDistDFe.Retorno.loteDistDFeInt.Count()) > 0) { var xmlBytes = retornoNFeDistDFe.Retorno.loteDistDFeInt[0].XmlNfe; string xmlStr = Compressao.Unzip(xmlBytes); Console.WriteLine($"Xml: {xmlStr}"); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private static async Task ManifestarCienciaOperacao() { try { Console.WriteLine("Informe a chave da NFe para download:"); string chave = Console.ReadLine(); using (var _certificado = CertificadoDigital.ObterCertificado(_configuracoes.CfgServico.Certificado)) using (var servicoNFe = new ServicosNFe(_configuracoes.CfgServico, _certificado)) { var retornoManifestacao = servicoNFe.RecepcaoEventoManifestacaoDestinatario(idlote: 1, sequenciaEvento: 1, chavesNFe: new string[] { chave }, nFeTipoEventoManifestacaoDestinatario: NFeTipoEvento.TeMdCienciaDaOperacao, cpfcnpj: _configuracoes.Emitente.CNPJ, justificativa: null); Console.WriteLine($"Retorno da manifestação: {retornoManifestacao.RetornoStr}"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public ServNFe4(EmissorServicoConfig emissorConfig) { EmissorConfig = emissorConfig ?? throw new ArgumentNullException(nameof(emissorConfig)); EmissorConfig = emissorConfig; //Setar dados de configuração do serviço apropriado para NFe 4.0 EmissorConfig.VersaoServico = VersaoServico.Ve400; //Obter certificado Digital X509Certificate2 = CertificadoDigital.ObterCertificado(EmissorConfig.Certificado); }
private static async Task CarregarNSUs() { try { Console.WriteLine("Informe o ultimo número de NSU que você tem. Se não tiver, informe 0 (zero):"); string ultimoNsu = Console.ReadLine(); Console.WriteLine("Informe a UF do autor"); string uf = Console.ReadLine(); do { RetornoNfeDistDFeInt retornoNFeDistDFe = null; using (var _certificado = CertificadoDigital.ObterCertificado(_configuracoes.CfgServico.Certificado)) using (var servicoNFe = new ServicosNFe(_configuracoes.CfgServico, _certificado)) retornoNFeDistDFe = servicoNFe.NfeDistDFeInteresse(ufAutor: _configuracoes.Emitente.enderEmit.UF.ToString(), documento: _configuracoes.Emitente.CNPJ, ultNSU: ultimoNsu.ToString()); var lote = retornoNFeDistDFe.Retorno.loteDistDFeInt; if (lote == null || !lote.Any()) { break; } Console.WriteLine($"{"NSU".PadRight(44, ' ')} | Xml"); foreach (var item in lote) { string linha = string.Empty; string xmlStr = string.Empty; if (item.XmlNfe != null) { xmlStr = Compressao.Unzip(item.XmlNfe); Console.WriteLine($"{item.NSU.ToString().PadRight(44, ' ')} | {xmlStr}"); } } await Task.Delay(2000); //https://github.com/ZeusAutomacao/DFe.NET/issues/568#issuecomment-339862458 } while (true); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private static X509Certificate2 ObterCertificado() { return(CertificadoDigital.ObterCertificado(ConfiguracaoCertificado)); }