Skip to content

Commit ebc1948

Browse files
authored
Merge pull request #1690 from ZeusAutomacao/tratamento_retorno_consulta_cadastro
feat(consCad): Implementa tratamento para obter a tag `retConsCad` em retornos de consulta que possuem alguma tag encapsulando-a.
2 parents 8ec5cc1 + 309c300 commit ebc1948

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

NFe.Servicos/ServicosNFe.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2106,7 +2106,7 @@ public RetornoNfeConsultaCadastro NfeConsultaCadastro(string uf, ConsultaCadastr
21062106
}
21072107

21082108
var retornoXmlString = retorno.OuterXml;
2109-
var retConsulta = new retConsCad().CarregarDeXmlString(retornoXmlString);
2109+
var retConsulta = ExtretConsCad.CarregarDeXmlString(retornoXmlString);
21102110

21112111
SalvarArquivoXml(DateTime.Now.ParaDataHoraString() + "-cad.xml", retornoXmlString);
21122112

NFe.Utils/ConsultaCadastro/ExtretConsCad.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */
3232
/********************************************************************************/
3333

34+
using System.Xml;
3435
using DFe.Utils;
3536
using NFe.Classes.Servicos.ConsultaCadastro;
3637

@@ -39,14 +40,18 @@ namespace NFe.Utils.ConsultaCadastro
3940
public static class ExtretConsCad
4041
{
4142
/// <summary>
42-
/// Coverte uma string XML no formato NFe para um objeto retConsCad
43+
/// Converte uma string XML no formato NFe para um objeto retConsCad
4344
/// </summary>
44-
/// <param name="retConsCad"></param>
4545
/// <param name="xmlString"></param>
4646
/// <returns>Retorna um objeto do tipo retConsCad</returns>
47-
public static retConsCad CarregarDeXmlString(this retConsCad retConsCad, string xmlString)
47+
public static retConsCad CarregarDeXmlString(string xmlString)
4848
{
49-
return FuncoesXml.XmlStringParaClasse<retConsCad>(xmlString);
49+
var documento = new XmlDocument();
50+
documento.LoadXml(xmlString);
51+
var node = documento.GetElementsByTagName("retConsCad")[0];
52+
var xmlParaDeserializar = node?.OuterXml ?? xmlString;
53+
54+
return FuncoesXml.XmlStringParaClasse<retConsCad>(xmlParaDeserializar);
5055
}
5156

5257
/// <summary>

0 commit comments

Comments
 (0)