Exemplo n.º 1
0
        /// <summary>
        /// Alguns estados nao tem o servico de consulta ao cadastro de contribuinte, por exemplo.
        /// Então, antes da aplicacao chamar um servico, ela pode consultar para saber ser um servico está disponivel para um estado
        /// </summary>
        public override void Execute()
        {
            int emp = Empresas.FindEmpresaByThread();

            pedidoWSExiste odados = new pedidoWSExiste();

            odados.cUF      = Empresas.Configuracoes[emp].UnidadeFederativaCodigo;
            odados.tpEmis   = Empresas.Configuracoes[emp].tpEmis;
            odados.tpAmb    = Empresas.Configuracoes[emp].AmbienteCodigo;
            odados.servicos = "";

            //Definir o serviço que será executado para a classe
            Servico = Servicos.WSExiste;

            try
            {
                int intValue;

                if (this.vXmlNfeDadosMsgEhXML)  //danasa 12-9-2009
                {
#if modelo_xml
                    <?xml version = "1.0" encoding = "utf-8"?>
                                                     < dados >
                                                     < cUF > 31 < / cUF > opcional ou se informada a UF por sigla, convertemos para UF->inteiro
                    < tpAmb > 2 < / tpAmb > opcional
                    < tpEmis > 1 < / tpEmis > opcional
                    <servicos> NFeConsultaCadastro, NFeStatusServico, ...< / servicos >
                    < / dados >
#endif
                    Functions.DeletarArquivo(Path.Combine(Empresas.Configuracoes[emp].PastaXmlRetorno,
                                                          Path.GetFileName(NomeArquivoXML.Replace(Propriedade.Extensao(Propriedade.TipoEnvio.EnvWSExiste).EnvioXML,
                                                                                                  Propriedade.Extensao(Propriedade.TipoEnvio.EnvWSExiste).RetornoXML).Replace(".xml", ".err"))));

                    XmlDocument doc = new XmlDocument();
                    doc.Load(NomeArquivoXML);
                    foreach (XmlNode node in doc.GetElementsByTagName("dados"))
                    {
                        XmlElement elementConfig = (XmlElement)node;

                        odados.tpEmis = Convert.ToInt32(Functions.LerTag(elementConfig, TpcnResources.tpEmis.ToString(), odados.tpEmis.ToString()));
                        odados.tpAmb  = Convert.ToInt32(Functions.LerTag(elementConfig, TpcnResources.tpAmb.ToString(), odados.tpAmb.ToString()));
                        string temp = Functions.LerTag(elementConfig, TpcnResources.cUF.ToString(), odados.cUF.ToString());
                        if (int.TryParse(temp, out intValue))
                        {
                            odados.cUF = intValue;
                        }
                        else
                        {
                            odados.cUF = Functions.UFParaCodigo(temp);
                        }
                        odados.servicos = Functions.LerTag(elementConfig, "servicos", false);
                    }
                }
Exemplo n.º 2
0
        /// <summary>
        /// Alguns estados nao tem o servico de consulta ao cadastro de contribuinte, por exemplo.
        /// Então, antes da aplicacao chamar um servico, ela pode consultar para saber ser um servico está disponivel para um estado
        /// </summary>
        public override void Execute()
        {
            int emp = Empresas.FindEmpresaByThread();

            pedidoWSExiste odados = new pedidoWSExiste();
            odados.cUF = Empresas.Configuracoes[emp].UnidadeFederativaCodigo;
            odados.tpEmis = Empresas.Configuracoes[emp].tpEmis;
            odados.tpAmb = Empresas.Configuracoes[emp].AmbienteCodigo;
            odados.servicos = "";

            //Definir o serviço que será executado para a classe
            Servico = Servicos.WSExiste;

            try
            {
                int intValue;

                if (this.vXmlNfeDadosMsgEhXML)  //danasa 12-9-2009
                {
#if modelo_xml
<?xml version="1.0" encoding="utf-8"?>
<dados>
    <cUF>31</cUF>           opcional ou se informada a UF por sigla, convertemos para UF->inteiro
    <tpAmb>2</tpAmb>        opcional
    <tpEmis>1</tpEmis>      opcional
    <servicos>NFeConsultaCadastro,NFeStatusServico,...</servicos>
</dados>
#endif
                    Functions.DeletarArquivo(Path.Combine(Empresas.Configuracoes[emp].PastaXmlRetorno, Path.GetFileName(NomeArquivoXML.Replace(Propriedade.ExtEnvio.EnvWSExiste_XML, Propriedade.ExtRetorno.retWSExiste_XML).Replace(".xml", ".err"))));

                    XmlDocument doc = new XmlDocument();
                    doc.Load(NomeArquivoXML);
                    foreach (XmlNode node in doc.GetElementsByTagName("dados"))
                    {
                        XmlElement elementConfig = (XmlElement)node;

                        odados.tpEmis = Convert.ToInt32(Functions.LerTag(elementConfig, TpcnResources.tpEmis.ToString(), odados.tpEmis.ToString()));
                        odados.tpAmb = Convert.ToInt32(Functions.LerTag(elementConfig, TpcnResources.tpAmb.ToString(), odados.tpAmb.ToString()));
                        string temp = Functions.LerTag(elementConfig, TpcnResources.cUF.ToString(), odados.cUF.ToString());
                        if (int.TryParse(temp, out intValue))
                            odados.cUF = intValue;
                        else
                            odados.cUF = Functions.UFParaCodigo(temp);
                        odados.servicos = Functions.LerTag(elementConfig, "servicos", false);
                    }
                }