/// <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); } }
/// <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); } }