protected bool SetarWebService(string tpDoc, Estados.UF estado, EnderecoWS.Ambientes ambitente, string servico) { if (ListaWebService == null) { throw new Exception("A lista de Web service não foi carregada"); } switch (tpDoc) { case "NFe": WebServiceNFe = ListaWebService.NFe.FirstOrDefault(t => t.Ambiente == ambitente && t.Estado == estado && t.Servico == servico) ?? null; if (WebServiceNFe != null) { return(true); } return(false); case "NFCe": WebServiceNFCe = ListaWebService.NFCe.FirstOrDefault(t => t.Ambiente == ambitente && t.Estado == estado && t.Servico == servico) ?? null; if (WebServiceNFCe != null) { return(true); } return(false); } 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 StatusNFe(EnderecoWS.Ambientes tpAmb, Estados.UF estado, string versao, string serialCertificado = null) { Mensagem = ""; try { if (!SetarWebService("NFe", estado, tpAmb, "NFeStatusServico")) { Erro = "Web Service não foi encontrado"; return(false); } if (!Certificado.BuscarCertificado(nroSerie: serialCertificado)) { Erro = Certificado.Erros; return(false); } ConsStatServ consStatServ = ConsStartusServ(tpAmb, estado, versao); using (Wsdl.NFe.Status.NfeStatusServico4 ws = new Wsdl.NFe.Status.NfeStatusServico4(WebServiceNFCe.WebService, Certificado.X509Certificado, TimeOut)) { XmlNode node = ws.Execute(consStatServ.ToXmlDocument()); if (node == null) { throw new Exception($"Falha no envio do arquivo de retorno (404 - Serviço não encontrado).\n\nWeb Service {WebServiceNFCe.WebService}"); } else { return(RetornarConsStartusServ(node)); } } } catch (Exception ex) { Erro = $"ERRO NO PROCESSO DE VERIFICAR STATUS SERVIÇO\n\n{ex.Message}"; return(false); } }