public bool ConsultaSituacaoAtualNFe(string caminhoNFe, string numRec, string serialCertificado = null) { Mensagem = ""; try { NFe nfe = ManipularXML.Load <NFe>(caminhoNFe); if (!SetarWebService("NFe", Estados.ObterEstado(nfe.InfNFe.Ide.CUF), EnderecoWS.ObterAmbiemte(nfe.InfNFe.Ide.TpAmb), "NFeRetAutorizacao")) { Erro = "Web Service não foi encontrado"; return(false); } if (!Certificado.BuscarCertificado(nroSerie: serialCertificado)) { Erro = Certificado.Erros; return(false); } XmlDocument recNfe = ConsReciboNF(nfe, numRec).ToXmlDocument(); using (Wsdl.NFe.Autorizacao.NFeRetAutorizacao4 ws = new Wsdl.NFe.Autorizacao.NFeRetAutorizacao4(WebServiceNFe.WebService, Certificado.X509Certificado, TimeOut)) { bool tentarNovamente; bool resultado; do { tentarNovamente = false; XmlNode n = ws.Execute(recNfe); if (n == null) { throw new Exception($"Falha no envio do arquivo de retorno (404 - Serviço não encontrado).\n\nWeb Service {WebServiceNFCe.WebService}"); } else { resultado = RetornoConsultaRecibo(nfe, n.OuterXml.ToXmlClass <RetConsReciNFe>(), caminhoNFe, out tentarNovamente); if (!tentarNovamente) { return(resultado); } } } while (tentarNovamente); return(resultado); } } catch (Exception ex) { Erro = $"ERRO NO PROCESSO DE CONSULTA ATUAL\n\n{ex.Message}"; return(false); } }
private ConsStatServ ConsStartusServ(EnderecoWS.Ambientes tpAmb, Estados.UF estado, string versao) { ConsStatServ consStatServ = new ConsStatServ() { Versao = versao, TpAmb = EnderecoWS.ObterAmbiemte(tpAmb), CUF = Estados.ObterEstado(estado), XServ = "STATUS" }; consStatServ.Salvar(ObterCaminhoArquivo($"Status{SufixoStatus}.xml")); return(consStatServ); }
public bool EnviarNFCe(NFe nfce, string idLote, string serialCertificado = "") { NumRecibo = ""; Mensagem = ""; try { if (!SetarWebService("NFCe", Estados.ObterEstado(nfce.InfNFe.Ide.CUF), EnderecoWS.ObterAmbiemte(nfce.InfNFe.Ide.TpAmb), "NFeAutorizacao")) { Erro = "Web Service não foi encontrado"; return(false); } if (!GerarChaveNF(nfce)) { return(false); } if (!Certificado.BuscarCertificado(nroSerie: serialCertificado)) { Erro = Certificado.Erros; return(false); } XmlDocument lote = CriarLoteEAssinar(nfce, idLote, true); if (!ValidarDocumentoFiscal(ObterCaminhoArquivo($"{nfce.InfNFe.Id.Substring(3)}{SufixoNFe}.xml"))) { return(false); } using (Wsdl.NFCe.Autorizacao.NFeAutorizacao4 ws = new Wsdl.NFCe.Autorizacao.NFeAutorizacao4(WebServiceNFCe.WebService, Certificado.X509Certificado, TimeOut)) { XmlNode n = ws.Execute(lote); if (n == null) { throw new Exception($"Falha no envio do arquivo de retorno (404 - Serviço não encontrado).\n\nWeb Service {WebServiceNFCe.WebService}"); } else { return(RetornoRecibo(n.OuterXml.ToXmlClass <RetEnviNFe>())); } } } catch (Exception ex) { Erro = $"ERRO NO PROCESSO DE ENVIO\n\n{ex.Message}"; return(false); } }