/// <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 RetornoNfeDownload NfeDownloadNf(string cnpj, List <string> chaves) { var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeDownloadNF, _cFgServico.VersaoNfeDownloadNF); #region Cria o objeto wdsl para envio do pedido de Download var ws = CriarServico(ServicoNFe.NfeDownloadNF, TipoRecepcaoEvento.Nenhum); ws.nfeCabecMsg = new nfeCabecMsg { cUF = _cFgServico.cUF, //Embora em http://www.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=#GO esse serviço está nas versões 2.00 e 3.10, ele rejeita se mandar a versão diferente de 1.00. Testado no Ambiente Nacional - (AN) versaoDados = /*versaoServico*/ "1.00" }; #endregion #region Cria o objeto downloadNFe var pedDownload = new downloadNFe { //Embora em http://www.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=#GO esse serviço está nas versões 2.00 e 3.10, ele rejeita se mandar a versão diferente de 1.00. Testado no Ambiente Nacional - (AN) versao = /*versaoServico*/ "1.00", CNPJ = cnpj, tpAmb = _cFgServico.tpAmb, chNFe = chaves }; #endregion #region Valida, Envia os dados e obtém a resposta var xmlDownload = pedDownload.ObterXmlString(); Validador.Valida(ServicoNFe.NfeDownloadNF, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeDownloadNF, xmlDownload); var dadosDownload = new XmlDocument(); dadosDownload.LoadXml(xmlDownload); SalvarArquivoXml(cnpj + "-ped-down.xml", xmlDownload); var retorno = ws.Execute(dadosDownload); var retornoXmlString = retorno.OuterXml; var retDownload = new retDownloadNFe().CarregarDeXmlString(retornoXmlString); SalvarArquivoXml(cnpj + "-down.xml", retornoXmlString); return(new RetornoNfeDownload(pedDownload.ObterXmlString(), retDownload.ObterXmlString(), retornoXmlString, retDownload)); #endregion }
/// <summary> /// Recebe um objeto ExtdownloadNFe e devolve a string no formato XML /// </summary> /// <param name="pedDownload">Objeto do tipo downloadNFe</param> /// <returns>string com XML no do objeto downloadNFe</returns> public static string ObterXmlString(this downloadNFe pedDownload) { return(FuncoesXml.ClasseParaXmlString(pedDownload)); }