示例#1
0
        private string BuscaRetornoWebService(tcIdentificacaoPrestador Prestador)
        {
            try
            {
                if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.GINFES)
                {
                    string sVerificacao = Pastas.GINFES + this.Protocolo + ".txt";

                    bool bValida = false;

                    if (File.Exists(sVerificacao))
                    {
                        StreamReader sr  = new StreamReader(sVerificacao);
                        string       sdt = sr.ReadToEnd();
                        sr.Close();

                        DateTime dtEnvio = Convert.ToDateTime(sdt).AddMinutes(6);
                        DateTime dtAtual = DateTime.Now;

                        if (dtEnvio > dtAtual)
                        {
                            throw new Exception("Aguarde mais alguns minutos para o buscar o retorno da Nota. Aproximadamente 6 minutos após o envio.");
                        }
                        else
                        {
                            bValida = true;
                        }
                    }
                    else
                    {
                        bValida = true;
                    }

                    string sretorno = "";
                    if (bValida)
                    {
                        if (Acesso.TP_AMB_SERV == 2)
                        {
                            WebService.Itu_servicos_Homologacao.ServiceGinfesImplService teste = new WebService.Itu_servicos_Homologacao.ServiceGinfesImplService();
                            teste.ClientCertificates.Add(Acesso.cert_NFs);
                            teste.Timeout = 60000;
                            string sret = teste.ConsultarSituacaoLoteRpsV3(NfeCabecMsg(), MontaXmlConsultarSituacaoLoteRps(Prestador));

                            WebService.Itu_servicos_Homologacao.ServiceGinfesImplService objtrans = new WebService.Itu_servicos_Homologacao.ServiceGinfesImplService();
                            objtrans.ClientCertificates.Add(Acesso.cert_NFs);
                            objtrans.Timeout = 60000;
                            return(objtrans.ConsultarLoteRpsV3(NfeCabecMsg(), MontaXmlConsultaLote(Prestador)));
                        }
                        else if (Acesso.TP_AMB_SERV == 1)
                        {
                            ConsultarSituacaoLoteRpsResposta objResposta;
                            try
                            {
                                WebService.Itu_servicos_Producao.ServiceGinfesImplService teste = new WebService.Itu_servicos_Producao.ServiceGinfesImplService();
                                teste.ClientCertificates.Add(Acesso.cert_NFs);
                                teste.Timeout = 60000;
                                string      sret = teste.ConsultarSituacaoLoteRpsV3(NfeCabecMsg(), MontaXmlConsultarSituacaoLoteRps(Prestador));
                                XmlDocument doc  = new XmlDocument();
                                doc.LoadXml(sret);
                                string sNmFile = Pastas.PROTOCOLOS + "//ConsultaSitLoteRps_" + this.Protocolo + ".xml";
                                if (File.Exists(sNmFile))
                                {
                                    File.Delete(sNmFile);
                                }
                                doc.Save(sNmFile);
                                objResposta = SerializeClassToXml.DeserializeClasse <ConsultarSituacaoLoteRpsResposta>(sNmFile);
                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }

                            if (objResposta != null)
                            {
                                if ((objResposta.Situacao == 4) || (objResposta.Situacao == 3))
                                {
                                    WebService.Itu_servicos_Producao.ServiceGinfesImplService objtrans = new WebService.Itu_servicos_Producao.ServiceGinfesImplService();
                                    objtrans.ClientCertificates.Add(Acesso.cert_NFs);
                                    objtrans.Timeout = 60000;
                                    sretorno         = objtrans.ConsultarLoteRpsV3(NfeCabecMsg(), MontaXmlConsultaLote(Prestador));
                                }
                                else
                                {
                                    if (objResposta.Situacao == 1)
                                    {
                                        throw new Exception("Lote ainda não recebido.");
                                    }
                                    else if (objResposta.Situacao == 2)
                                    {
                                        throw new Exception("Lote ainda não processado.");
                                    }
                                }
                            }
                        }

                        return(sretorno);
                    }
                    else
                    {
                        throw new Exception("Cadastro de Empresa não configurado para enviar NFe-serviço");
                    }
                }
                else
                {
                    WebService.riodasostras_Producao.Nfse nfse = new WebService.riodasostras_Producao.Nfse();
                    nfse.ClientCertificates.Add(Acesso.cert_NFs);
                    nfse.Timeout = 60000;
                    return(nfse.ConsultarLoteRps(MontaXmlConsultaLote2(Prestador)));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
        private string BuscaRetornoWebService(tcIdentificacaoPrestador Prestador)
        {
            try
            {

                if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.GINFES)
                {
                    string sVerificacao = Pastas.GINFES + this.Protocolo + ".txt";

                    bool bValida = false;

                    if (File.Exists(sVerificacao))
                    {
                        StreamReader sr = new StreamReader(sVerificacao);
                        string sdt = sr.ReadToEnd();
                        sr.Close();

                        DateTime dtEnvio = Convert.ToDateTime(sdt).AddMinutes(6);
                        DateTime dtAtual = DateTime.Now;

                        if (dtEnvio > dtAtual)
                        {
                            throw new Exception("Aguarde mais alguns minutos para o buscar o retorno da Nota. Aproximadamente 6 minutos após o envio.");
                        }
                        else
                        {
                            bValida = true;
                        }
                    }
                    else
                    {
                        bValida = true;
                    }

                    string sretorno = "";
                    if (bValida)
                    {
                        if (Acesso.TP_AMB_SERV == 2)
                        {
                            WebService.Itu_servicos_Homologacao.ServiceGinfesImplService teste = new WebService.Itu_servicos_Homologacao.ServiceGinfesImplService();
                            teste.ClientCertificates.Add(Acesso.cert_NFs);
                            teste.Timeout = 60000;
                            string sret = teste.ConsultarSituacaoLoteRpsV3(NfeCabecMsg(), MontaXmlConsultarSituacaoLoteRps(Prestador));

                            WebService.Itu_servicos_Homologacao.ServiceGinfesImplService objtrans = new WebService.Itu_servicos_Homologacao.ServiceGinfesImplService();
                            objtrans.ClientCertificates.Add(Acesso.cert_NFs);
                            objtrans.Timeout = 60000;
                            return objtrans.ConsultarLoteRpsV3(NfeCabecMsg(), MontaXmlConsultaLote(Prestador));

                        }
                        else if (Acesso.TP_AMB_SERV == 1)
                        {
                            ConsultarSituacaoLoteRpsResposta objResposta;
                            try
                            {

                                WebService.Itu_servicos_Producao.ServiceGinfesImplService teste = new WebService.Itu_servicos_Producao.ServiceGinfesImplService();
                                teste.ClientCertificates.Add(Acesso.cert_NFs);
                                teste.Timeout = 60000;
                                string sret = teste.ConsultarSituacaoLoteRpsV3(NfeCabecMsg(), MontaXmlConsultarSituacaoLoteRps(Prestador));
                                XmlDocument doc = new XmlDocument();
                                doc.LoadXml(sret);
                                string sNmFile = Pastas.PROTOCOLOS + "//ConsultaSitLoteRps_" + this.Protocolo + ".xml";
                                if (File.Exists(sNmFile))
                                    File.Delete(sNmFile);
                                doc.Save(sNmFile);
                                objResposta = SerializeClassToXml.DeserializeClasse<ConsultarSituacaoLoteRpsResposta>(sNmFile);

                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }

                            if (objResposta != null)
                            {

                                if ((objResposta.Situacao == 4) || (objResposta.Situacao == 3))
                                {
                                    WebService.Itu_servicos_Producao.ServiceGinfesImplService objtrans = new WebService.Itu_servicos_Producao.ServiceGinfesImplService();
                                    objtrans.ClientCertificates.Add(Acesso.cert_NFs);
                                    objtrans.Timeout = 60000;
                                    sretorno = objtrans.ConsultarLoteRpsV3(NfeCabecMsg(), MontaXmlConsultaLote(Prestador));
                                }
                                else
                                {
                                    if (objResposta.Situacao == 1)
                                    {
                                        throw new Exception("Lote ainda não recebido.");
                                    }
                                    else if (objResposta.Situacao == 2)
                                    {
                                        throw new Exception("Lote ainda não processado.");
                                    }
                                }
                            }
                        }

                        return sretorno;
                    }
                    else
                    {
                        throw new Exception("Cadastro de Empresa não configurado para enviar NFe-serviço");
                    }
                }
                else
                {
                    WebService.riodasostras_Producao.Nfse nfse = new WebService.riodasostras_Producao.Nfse();
                    nfse.ClientCertificates.Add(Acesso.cert_NFs);
                    nfse.Timeout = 60000;
                    return nfse.ConsultarLoteRps(MontaXmlConsultaLote2(Prestador));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }