/// <summary> /// Consulta a situação cadastral, com base na UF/Documento /// <para>O documento pode ser: CPF ou CNPJ. O serviço avaliará o tamanho da string passada e determinará se a coonsulta será por CPF ou por CNPJ</para> /// </summary> /// <param name="uf"></param> /// <param name="documento"></param> /// <returns>Retorna um objeto da classe RetornoNfeConsultaCadastro com o retorno do serviço NfeConsultaCadastro</returns> public RetornoNfeConsultaCadastro NfeConsultaCadastro(string uf, string documento) { var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeConsultaCadastro, _cFgServico.VersaoNfeConsultaCadastro); #region Cria o objeto wdsl para consulta var ws = CriarServico(ServicoNFe.NfeConsultaCadastro, TipoRecepcaoEvento.Nenhum); ws.nfeCabecMsg = new nfeCabecMsg { cUF = _cFgServico.cUF, versaoDados = versaoServico }; #endregion #region Cria o objeto ConsCad var pedConsulta = new ConsCad { versao = versaoServico, infCons = new infConsEnv {UF = uf} }; if (documento.Length == 11) pedConsulta.infCons.CPF = documento; if (documento.Length > 11) pedConsulta.infCons.CNPJ = documento; #endregion #region Valida, Envia os dados e obtém a resposta var xmlConsulta = pedConsulta.ObterXmlString(); Validador.Valida(ServicoNFe.NfeConsultaCadastro, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeConsultaCadastro, xmlConsulta); var dadosConsulta = new XmlDocument(); dadosConsulta.LoadXml(xmlConsulta); SalvarArquivoXml(DateTime.Now.ToString("yyyyMMddHHmmss") + "-ped-cad.xml", xmlConsulta); var retorno = ws.Execute(dadosConsulta); var retornoXmlString = retorno.OuterXml; var retConsulta = new retConsCad().CarregarDeXmlString(retornoXmlString); SalvarArquivoXml(DateTime.Now.ToString("yyyyMMddHHmmss") + "-cad.xml", retornoXmlString); return new RetornoNfeConsultaCadastro(pedConsulta.ObterXmlString(), retConsulta.ObterXmlString(), retornoXmlString, retConsulta); #endregion }
public RetornoNfeConsultaCadastro(string envioStr, string retornoStr, string retornoCompletaStr, retConsCad retorno) : base(envioStr, retornoStr, retornoCompletaStr, retorno) { Retorno = retorno; }