/// <summary> /// Carrega a lista de webservices definidos no arquivo WebService.XML /// </summary> public static bool CarregaWebServicesList() { bool atualizaWSDL = false; if (webServicesList == null) { webServicesList = new List <webServices>(); Propriedade.Municipios = null; Propriedade.Municipios = new List <Municipio>(); XmlDocument doc = new XmlDocument(); /// danasa 1-2012 if (File.Exists(Propriedade.NomeArqXMLMunicipios)) { doc.Load(Propriedade.NomeArqXMLMunicipios); XmlNodeList estadoList = doc.GetElementsByTagName(NFe.Components.NFeStrConstants.Registro); foreach (XmlNode registroNode in estadoList) { XmlElement registroElemento = (XmlElement)registroNode; if (registroElemento.Attributes.Count > 0) { int IDmunicipio = Convert.ToInt32("0" + Functions.OnlyNumbers(registroElemento.Attributes[TpcnResources.ID.ToString()].Value)); string Nome = registroElemento.Attributes[NFeStrConstants.Nome].Value; string Padrao = registroElemento.Attributes[NFeStrConstants.Padrao].Value; string UF = Functions.CodigoParaUF(Convert.ToInt32(IDmunicipio.ToString().Substring(0, 2))); /// /// danasa 9-2013 /// verifica se o 'novo' padrao existe, nao existindo retorna para atualizar os wsdl's dele string dirSchemas = Path.Combine(Propriedade.PastaExecutavel, "NFse\\schemas\\NFSe\\" + Padrao); if (!Directory.Exists(dirSchemas)) { atualizaWSDL = true; } PadroesNFSe pdr = WebServiceNFSe.GetPadraoFromString(Padrao); string urlsH = WebServiceNFSe.WebServicesHomologacao(ref pdr, IDmunicipio); string urlsP = WebServiceNFSe.WebServicesProducao(ref pdr, IDmunicipio); if (!string.IsNullOrEmpty(urlsH) || !string.IsNullOrEmpty(urlsP)) { var ci = (from i in webServicesList where i.ID == IDmunicipio select i).FirstOrDefault(); if (ci == null) { webServices wsItem = new webServices(IDmunicipio, Nome, UF); PreencheURLw(wsItem.LocalHomologacao, NFe.Components.NFeStrConstants.LocalHomologacao, urlsH, "", "NFse\\"); PreencheURLw(wsItem.LocalProducao, NFe.Components.NFeStrConstants.LocalProducao, urlsP, "", "NFse\\"); webServicesList.Add(wsItem); } } /// /// adiciona na lista que será usada na manutencao /// Propriedade.Municipios.Add(new Municipio(IDmunicipio, UF, Nome, pdr)); } } } /// danasa 1-2012 bool salvaXmlLocal = false; LoadArqXMLWebService(Propriedade.NomeArqXMLWebService_NFe, "NFe\\"); salvaXmlLocal = LoadArqXMLWebService(Propriedade.NomeArqXMLWebService_NFSe, "NFse\\"); if (salvaXmlLocal) { WebServiceNFSe.SalvarXMLMunicipios(null, null, 0, null, false); } } return(atualizaWSDL); }