NFe.Components.WebServiceProxy.LoadArqXMLWebService C# (CSharp) Method

LoadArqXMLWebService() private static method

private static LoadArqXMLWebService ( string filenameWS, string subfolder ) : bool
filenameWS string
subfolder string
return bool
        private static bool LoadArqXMLWebService(string filenameWS, string subfolder)
        {
            bool salvaXmlLocal = false;

            if (File.Exists(filenameWS))
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(filenameWS);
                XmlNodeList estadoList = doc.GetElementsByTagName(NFeStrConstants.Estado);
                foreach (XmlNode estadoNode in estadoList)
                {
                    XmlElement estadoElemento = (XmlElement)estadoNode;
                    if (estadoElemento.Attributes.Count > 0)
                    {
                        if (estadoElemento.Attributes[TpcnResources.UF.ToString()].Value != "XX")
                        {
                            int ID = Convert.ToInt32("0" + Functions.OnlyNumbers(estadoElemento.Attributes[TpcnResources.ID.ToString()].Value));
                            if (ID == 0)
                                continue;
                            string Nome = estadoElemento.Attributes[NFeStrConstants.Nome].Value;
                            string UF = estadoElemento.Attributes[TpcnResources.UF.ToString()].Value;

                            /// danasa 1-2012
                            ///
                            /// verifica se o ID já está na lista
                            /// isto previne que no xml de configuracao tenha duplicidade e evita derrubar o programa
                            ///
                            var ci = (from i in webServicesList where i.ID == ID select i).FirstOrDefault();
                            if (ci == null)
                            {
                                webServices wsItem = new webServices(ID, Nome, UF);
                                XmlNodeList urlList;

                                urlList = estadoElemento.GetElementsByTagName(NFe.Components.NFeStrConstants.LocalHomologacao);
                                if (urlList.Count > 0)
                                    PreencheURLw(wsItem.LocalHomologacao,
                                                 NFe.Components.NFeStrConstants.LocalHomologacao,
                                                 urlList.Item(0).OuterXml,
                                                 UF,
                                                 subfolder);

                                urlList = estadoElemento.GetElementsByTagName(NFe.Components.NFeStrConstants.LocalProducao);
                                if (urlList.Count > 0)
                                    PreencheURLw(wsItem.LocalProducao,
                                                 NFe.Components.NFeStrConstants.LocalProducao,
                                                 urlList.Item(0).OuterXml,
                                                 UF,
                                                 subfolder);

                                webServicesList.Add(wsItem);
                            }
                            // danasa 1-2012
                            if (estadoElemento.HasAttribute(NFeStrConstants.Padrao))
                            {
                                try
                                {
                                    string padrao = estadoElemento.Attributes[NFeStrConstants.Padrao].Value;
                                    if (!padrao.Equals(PadroesNFSe.NaoIdentificado.ToString(), StringComparison.InvariantCultureIgnoreCase))
                                    {
                                        var cc = (from i in Propriedade.Municipios
                                                  where i.CodigoMunicipio == ID
                                                  select i).FirstOrDefault();
                                        if (cc == null)
                                        {
                                            Propriedade.Municipios.Add(new Municipio(ID, UF, Nome, WebServiceNFSe.GetPadraoFromString(padrao)));
                                            salvaXmlLocal = true;
                                        }
                                        else
                                        {
                                            if (!cc.PadraoStr.Equals(padrao) || !cc.UF.Equals(UF) || !cc.Nome.Equals(Nome, StringComparison.InvariantCultureIgnoreCase))
                                            {
                                                cc.Padrao = WebServiceNFSe.GetPadraoFromString(padrao);
                                                cc.Nome = Nome;
                                                cc.UF = UF;
                                                salvaXmlLocal = true;
                                            }
                                        }
                                    }
                                }
                                catch { }
                            }
                            // danasa 1-2012
                        }
                    }
                }
            }
            return salvaXmlLocal;
        }
        #endregion