Example #1
0
        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);
            }
        }
Example #2
0
        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;
        }