public static void VerificaStatusServicoNFe() { try { Acesso.bCERT_CONSULTA_SELECIONADO = false; Mensagem = ""; InternetCS objVerificaInternet = new InternetCS(); if (objVerificaInternet.Conexao()) { X509Certificate2 cert = new X509Certificate2(); cert = belCertificadoDigital.BuscaNome(""); if (!belCertificadoDigital.ValidaCertificado(cert)) { Mensagem = "Certificado Inválido"; } else { Acesso.bCERT_CONSULTA_SELECIONADO = true; Acesso.cert_NFe = cert; HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno objStatus = belStatusServicoNFe.RealizaConsultaStatusServico(); Mensagem = belTrataMensagemNFe.RetornaMensagem(objStatus, belTrataMensagemNFe.Tipo.Status); } } else { Mensagem = "A internet parece estar Indisponível"; } } catch (Exception ex) { Mensagem = ex.Message; } }
public static HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno RealizaConsultaStatusServico() { HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno dRetorno = new HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno(); if (Acesso.TP_EMIS == 1 || Acesso.TP_EMIS == 2) { switch (Acesso.xUFtoWS) { case "SP": { dRetorno = ConsultaServico_SP(); } break; } } else if (Acesso.TP_EMIS == 3) { //dRetorno = null;// ConsultaServico_SCAN(); } return(dRetorno); }
public static HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno RealizaConsultaStatusServico() { HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno dRetorno = new HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno(); if (Acesso.TP_EMIS == 1 || Acesso.TP_EMIS == 2) { switch (Acesso.xUFtoWS) { case "SP": { dRetorno = ConsultaServico_SP(); } break; } } else if (Acesso.TP_EMIS == 3) { //dRetorno = null;// ConsultaServico_SCAN(); } return dRetorno; }
private static HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno ConsultaServico_SP() { HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno dRetorno = new HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno(); string snfeCabecMsg = NfeCabecMsg(); XmlDocument xdDadosMsg = CteDadosMsg(); try { if (Acesso.TP_AMB == 1) { #region Produção HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.CteStatusServico ws2 = new HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.CteStatusServico(); HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.cteCabecMsg cabec = new HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.cteCabecMsg(); cabec.cUF = Acesso.cUF.ToString(); cabec.versaoDados = Acesso.versaoCTe.ToString(); ws2.cteCabecMsgValue = cabec; ws2.ClientCertificates.Add(Acesso.cert_CTe); XmlNode xmlDados = null; xmlDados = xdDadosMsg.DocumentElement; string resp = ws2.cteStatusServicoCT(xmlDados).OuterXml; XElement Elemento = XElement.Parse(resp); XNamespace xname = "http://www.portalfiscal.inf.br/cte"; // Busca do status da conexao var Status = from b in Elemento.Elements(xname + "cStat") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Status = (string)b.Value }; foreach (var Stat in Status) { dRetorno.cStat = Stat.Status; } // // Busca do Descricao do Motivo do status var Motivo = from b in Elemento.Elements(xname + "xMotivo") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Motivo = (string)b.Value }; foreach (var xMotivo in Motivo) { dRetorno.xMotivo = xMotivo.Motivo; } // //Mostra o tempo medio de resposta do site. var tMed = from b in Elemento.Elements(xname + "tMed") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { TempoMedio = (string)b.Value }; foreach (var TempoMedio in tMed) { dRetorno.Tmed = Convert.ToInt32(TempoMedio.TempoMedio); } // //Mostra o data e hora do recibo. var dhRecibo = from b in Elemento.Elements(xname + "dhRecbto") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRecibo = (string)b.Value }; foreach (var dhrec in dhRecibo) { dRetorno.Dhrecibo = Convert.ToDateTime(dhrec.datahoraRecibo); } // //Mostra o data e hora do recibo. var dhRetorno = from b in Elemento.Elements(xname + "dhRetorno") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRetorno = (string)b.Value }; foreach (var dhret in dhRetorno) { dRetorno.Dhretorno = Convert.ToDateTime(dhret.datahoraRetorno); } #endregion } else { #region Homologação HLP.GeraXml.WebService.CTe_Homologacao_cteStatusServico.CteStatusServico ws2 = new WebService.CTe_Homologacao_cteStatusServico.CteStatusServico(); HLP.GeraXml.WebService.CTe_Homologacao_cteStatusServico.cteCabecMsg cabec = new WebService.CTe_Homologacao_cteStatusServico.cteCabecMsg(); cabec.cUF = Acesso.cUF.ToString(); cabec.versaoDados = Acesso.versaoCTe.ToString(); ws2.cteCabecMsgValue = cabec; ws2.ClientCertificates.Add(Acesso.cert_CTe); XmlNode xmlDados = null; xmlDados = xdDadosMsg.DocumentElement; string resp = ws2.cteStatusServicoCT(xmlDados).OuterXml; XElement Elemento = XElement.Parse(resp); XNamespace xname = "http://www.portalfiscal.inf.br/cte"; // Busca do status da conexao var Status = from b in Elemento.Elements(xname + "cStat") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Status = (string)b.Value }; foreach (var Stat in Status) { dRetorno.cStat = Stat.Status; } // // Busca do Descricao do Motivo do status var Motivo = from b in Elemento.Elements(xname + "xMotivo") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Motivo = (string)b.Value }; foreach (var xMotivo in Motivo) { dRetorno.xMotivo = xMotivo.Motivo; } // //Mostra o tempo medio de resposta do site. var tMed = from b in Elemento.Elements(xname + "tMed") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { TempoMedio = (string)b.Value }; foreach (var TempoMedio in tMed) { dRetorno.Tmed = Convert.ToInt32(TempoMedio.TempoMedio); } // //Mostra o data e hora do recibo. var dhRecibo = from b in Elemento.Elements(xname + "dhRecbto") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRecibo = (string)b.Value }; foreach (var dhrec in dhRecibo) { dRetorno.Dhrecibo = Convert.ToDateTime(dhrec.datahoraRecibo); } // //Mostra o data e hora do recibo. var dhRetorno = from b in Elemento.Elements(xname + "dhRetorno") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRetorno = (string)b.Value }; foreach (var dhret in dhRetorno) { dRetorno.Dhretorno = Convert.ToDateTime(dhret.datahoraRetorno); } #endregion } return dRetorno; } catch (Exception x) { throw new Exception("Problema com os WebServices - " + x.Message); } }
public static void VerificaStatusServicoNFeTela() { try { Acesso.bCERT_CONSULTA_SELECIONADO = false; ServicoOperando = false; AcaoCancelada = false; Mensagem = ""; X509Certificate2 cert = new X509Certificate2(); cert = belCertificadoDigital.BuscaNome(""); if (!belCertificadoDigital.ValidaCertificado(cert)) { Mensagem = "Certificado Inválido"; } else { Acesso.cert_CTe = Acesso.cert_NFe = cert; InternetCS objVerificaInternet = new InternetCS(); if (objVerificaInternet.Conexao()) { Acesso.bCERT_CONSULTA_SELECIONADO = true; HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno objStatus = belStatusServicoNFe.RealizaConsultaStatusServico(); Mensagem = belTrataMensagemNFe.RetornaMensagem(objStatus, belTrataMensagemNFe.Tipo.Status); if (!AcaoCancelada) { if (objStatus.cStat == "107") { if (Acesso.TP_EMIS == 2) { Mensagem += Environment.NewLine + Environment.NewLine + "O Sefaz está Operante." + Environment.NewLine + "Altere o Sistema para Modo Normal."; } else { ServicoOperando = true; } } else if (objStatus.cStat != "107" && Acesso.TP_EMIS == 1) { Mensagem += Environment.NewLine + Environment.NewLine + "O Sefaz não está Operante." + Environment.NewLine + "Caso queira emitir Notas utilizando o formulário de segurança," + Environment.NewLine + "Altere o Sistema para Modo Contingência FS."; } else { ServicoOperando = true; } } } else { Mensagem = "A internet parece estar Indisponível"; if (Acesso.TP_EMIS == 2) { ServicoOperando = true; } else { Mensagem += Environment.NewLine + Environment.NewLine + "O Sistema não está Operante." + Environment.NewLine + "Caso queira emitir Notas utilizando o formulário de segurança," + Environment.NewLine + "Altere o Sistema para Modo Contingência FS."; } } } } catch (Exception ex) { Mensagem = ex.Message; } }
private static HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno ConsultaServico_SP() { HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno dRetorno = new HLP.GeraXml.bel.NFe.belStatusServicoNFe.DadosRetorno(); string snfeCabecMsg = NfeCabecMsg(); XmlDocument xdDadosMsg = CteDadosMsg(); try { if (Acesso.TP_AMB == 1) { #region Produção HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.CteStatusServico ws2 = new HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.CteStatusServico(); HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.cteCabecMsg cabec = new HLP.GeraXml.WebService.CTe_Producao_cteStatusServico.cteCabecMsg(); cabec.cUF = Acesso.cUF.ToString(); cabec.versaoDados = Acesso.versaoCTe.ToString(); ws2.cteCabecMsgValue = cabec; ws2.ClientCertificates.Add(Acesso.cert_CTe); XmlNode xmlDados = null; xmlDados = xdDadosMsg.DocumentElement; string resp = ws2.cteStatusServicoCT(xmlDados).OuterXml; XElement Elemento = XElement.Parse(resp); XNamespace xname = "http://www.portalfiscal.inf.br/cte"; // Busca do status da conexao var Status = from b in Elemento.Elements(xname + "cStat") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Status = (string)b.Value }; foreach (var Stat in Status) { dRetorno.cStat = Stat.Status; } // // Busca do Descricao do Motivo do status var Motivo = from b in Elemento.Elements(xname + "xMotivo") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Motivo = (string)b.Value }; foreach (var xMotivo in Motivo) { dRetorno.xMotivo = xMotivo.Motivo; } // //Mostra o tempo medio de resposta do site. var tMed = from b in Elemento.Elements(xname + "tMed") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { TempoMedio = (string)b.Value }; foreach (var TempoMedio in tMed) { dRetorno.Tmed = Convert.ToInt32(TempoMedio.TempoMedio); } // //Mostra o data e hora do recibo. var dhRecibo = from b in Elemento.Elements(xname + "dhRecbto") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRecibo = (string)b.Value }; foreach (var dhrec in dhRecibo) { dRetorno.Dhrecibo = Convert.ToDateTime(dhrec.datahoraRecibo); } // //Mostra o data e hora do recibo. var dhRetorno = from b in Elemento.Elements(xname + "dhRetorno") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRetorno = (string)b.Value }; foreach (var dhret in dhRetorno) { dRetorno.Dhretorno = Convert.ToDateTime(dhret.datahoraRetorno); } #endregion } else { #region Homologação HLP.GeraXml.WebService.CTe_Homologacao_cteStatusServico.CteStatusServico ws2 = new WebService.CTe_Homologacao_cteStatusServico.CteStatusServico(); HLP.GeraXml.WebService.CTe_Homologacao_cteStatusServico.cteCabecMsg cabec = new WebService.CTe_Homologacao_cteStatusServico.cteCabecMsg(); cabec.cUF = Acesso.cUF.ToString(); cabec.versaoDados = Acesso.versaoCTe.ToString(); ws2.cteCabecMsgValue = cabec; ws2.ClientCertificates.Add(Acesso.cert_CTe); XmlNode xmlDados = null; xmlDados = xdDadosMsg.DocumentElement; string resp = ws2.cteStatusServicoCT(xmlDados).OuterXml; XElement Elemento = XElement.Parse(resp); XNamespace xname = "http://www.portalfiscal.inf.br/cte"; // Busca do status da conexao var Status = from b in Elemento.Elements(xname + "cStat") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Status = (string)b.Value }; foreach (var Stat in Status) { dRetorno.cStat = Stat.Status; } // // Busca do Descricao do Motivo do status var Motivo = from b in Elemento.Elements(xname + "xMotivo") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { Motivo = (string)b.Value }; foreach (var xMotivo in Motivo) { dRetorno.xMotivo = xMotivo.Motivo; } // //Mostra o tempo medio de resposta do site. var tMed = from b in Elemento.Elements(xname + "tMed") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { TempoMedio = (string)b.Value }; foreach (var TempoMedio in tMed) { dRetorno.Tmed = Convert.ToInt32(TempoMedio.TempoMedio); } // //Mostra o data e hora do recibo. var dhRecibo = from b in Elemento.Elements(xname + "dhRecbto") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRecibo = (string)b.Value }; foreach (var dhrec in dhRecibo) { dRetorno.Dhrecibo = Convert.ToDateTime(dhrec.datahoraRecibo); } // //Mostra o data e hora do recibo. var dhRetorno = from b in Elemento.Elements(xname + "dhRetorno") select new // Depois da query adicionamos propriedades ao var Filme para estarem acessiveis no foreach { datahoraRetorno = (string)b.Value }; foreach (var dhret in dhRetorno) { dRetorno.Dhretorno = Convert.ToDateTime(dhret.datahoraRetorno); } #endregion } return(dRetorno); } catch (Exception x) { throw new Exception("Problema com os WebServices - " + x.Message); } }