Ejemplo n.º 1
0
        /// <summary>
        ///     Processa retorno
        /// </summary>
        /// <param name="xmlRecebido"></param>
        /// <param name="enviNFe"></param>
        /// <param name="contingencia">True, enviado em contingência</param>
        /// <returns></returns>


        private RetAutorz RetornoProcessamento(string xmlRecebido, enviNFe enviNFe, bool contingencia)
        {
            var xmlRecebidoTratado = Utils.ObterNodeDeStringXml("retEnviNFe", xmlRecebido);
            var retorno1           = Utils.ConverterXMLParaClasse <retEnviNFe>(xmlRecebidoTratado);

            _processadas++;
            if (retorno1.protNFe == null)
            {
                _rejeitadas++;
            }
            if (retorno1.protNFe != null)
            {
                if (StatusSefaz.ListarCodigo.All(n => retorno1.protNFe.infProt.cStat != n.Key))
                {
                    _rejeitadas++;
                }
            }

            var xmlEnviado = Utils.ObterStringXML(enviNFe);
            var retorno2   = new RetAutorz(retorno1, xmlRecebidoTratado, _processadas, _rejeitadas, xmlEnviado, contingencia);

            SalvarArquivoLoteRecebidos(retorno2);

            return(retorno2);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Salvar arquivo Xml recebidos
        /// </summary>
        private void SalvarArquivoLoteRecebidos(RetAutorz retornoNfeAutorizacao)
        {
            if (!_emisorEmissorServicoConfig.SalvarArquivoRetorno)
            {
                return;
            }
            //SalvarArquivo
            if (string.IsNullOrWhiteSpace(_emisorEmissorServicoConfig.DiretorioArquivoRetornoXml))
            {
                throw new InvalidOperationException("Informe um diretório válido.");
            }
            var nomeArq = $"{_idlote}-rec.xml";
            var caminho = Path.Combine(_emisorEmissorServicoConfig.DiretorioArquivoRetornoXml, "Autorizacoes", "Recebidos");

            Utils.EscreverArquivo(caminho, nomeArq, retornoNfeAutorizacao.XmlRecebido);
        }