Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }