/// <summary> /// Consulta a Situação da NFe /// </summary> /// <returns>Retorna um objeto da classe RetornoNfeConsultaProtocolo com os dados da Situação da NFe</returns> public RetornoNfeConsultaProtocolo NfeConsultaProtocolo(string chave) { var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeConsultaProtocolo, _cFgServico.VersaoNfeConsultaProtocolo); #region Cria o objeto wdsl para consulta var ws = CriarServico(ServicoNFe.NfeConsultaProtocolo, TipoRecepcaoEvento.Nenhum); ws.nfeCabecMsg = new nfeCabecMsg { cUF = _cFgServico.cUF, versaoDados = versaoServico }; #endregion #region Cria o objeto consSitNFe var pedConsulta = new consSitNFe { versao = versaoServico, tpAmb = _cFgServico.tpAmb, chNFe = chave }; #endregion #region Valida, Envia os dados e obtém a resposta var xmlConsulta = pedConsulta.ObterXmlString(); Validador.Valida(ServicoNFe.NfeConsultaProtocolo, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeConsultaProtocolo, xmlConsulta); var dadosConsulta = new XmlDocument(); dadosConsulta.LoadXml(xmlConsulta); SalvarArquivoXml(chave + "-ped-sit.xml", xmlConsulta); var retorno = ws.Execute(dadosConsulta); var retornoXmlString = retorno.OuterXml; var retConsulta = new retConsSitNFe().CarregarDeXmlString(retornoXmlString); SalvarArquivoXml(chave + "-sit.xml", retornoXmlString); return new RetornoNfeConsultaProtocolo(pedConsulta.ObterXmlString(), retConsulta.ObterXmlString(), retornoXmlString, retConsulta); #endregion }
public RetornoNfeConsultaProtocolo(string envioStr, string retornoStr, string retornoCompletaStr, retConsSitNFe retorno) : base(envioStr, retornoStr, retornoCompletaStr, retorno) { Retorno = retorno; }