private bool RetornoConsultaRecibo(NFe nfe, RetConsReciNFe retConsReciNFe, string caminhoNF, out bool tentarNovamente) { retConsReciNFe.Salvar(ObterCaminhoArquivo($"{NumRecibo}{SufixoProRec}.xml")); if (retConsReciNFe.CStat == "103" || retConsReciNFe.CStat == "105") { tentarNovamente = true; Mensagem = $"{retConsReciNFe.CStat}-{retConsReciNFe.XMotivo}"; return(false); } tentarNovamente = false; if (retConsReciNFe.CStat == "104") { if (retConsReciNFe.ProtNFe.InfProt.CStat == "100") { GerarProcNFe(nfe, retConsReciNFe, caminhoNF); Mensagem = $"{retConsReciNFe.ProtNFe.InfProt.CStat}-{retConsReciNFe.ProtNFe.InfProt.XMotivo}"; return(true); } else { Erro = $"{retConsReciNFe.ProtNFe.InfProt.CStat}-{retConsReciNFe.ProtNFe.InfProt.XMotivo}"; return(false); } } else { Erro = $"{retConsReciNFe.CStat}-{retConsReciNFe.XMotivo}"; return(false); } }
private void GerarProcNFe(NFe nfe, RetConsReciNFe retConsReciNFe, string caminhoNF) { XmlDocument xmlNFe = new XmlDocument(); ProcNFe procNFe = new ProcNFe(); procNFe.Versao = retConsReciNFe.Versao; procNFe.ProtNFe = retConsReciNFe.ProtNFe; xmlNFe.Load(caminhoNF); XmlDocument xmlProc = procNFe.ToXmlDocument(); XmlNode node = xmlProc.ImportNode(xmlNFe.DocumentElement, true); xmlProc.DocumentElement.PrependChild(node); xmlProc.PreserveWhitespace = true; xmlProc.Save(ObterCaminhoArquivo($"{nfe.InfNFe.Id.Substring(3)}{SufixoProcNFe}.xml")); ProtocoloAutorizacao = retConsReciNFe.ProtNFe.InfProt.NProt; DataHoraAutorizacao = retConsReciNFe.ProtNFe.InfProt.DhRecbto; }