예제 #1
0
        private void NavigateXmlForUpdate(XmlNode rootNode)
        {
            //lettura dei server di posta
            XmlNodeList nodiServers = rootNode.SelectNodes("SERVERPOSTA");

            // Estrazione dati e nodi sottostanti
            foreach (XmlNode node in nodiServers)
            {
                XmlAttribute attribute = node.Attributes["MODE"];
                string       mode      = "";
                if (attribute != null)
                {
                    mode = attribute.InnerText.ToUpper();
                }

                string codice      = this.GetXmlField("CODICE", node, false);
                string serverPop   = this.GetXmlField("SERVERPOP", node, false);
                string portaPop    = this.GetXmlField("PORTAPOP", node, false);
                string serverSmtp  = this.GetXmlField("SERVERSMTP", node, false);
                string portaSmtp   = this.GetXmlField("PORTASMTP", node, false);
                string dominio     = this.GetXmlField("DOMINIO", node, false);
                string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);

                codice = codice.ToUpper();

                DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                if (mode == "CREATED")
                {
                    // Inserisci il server di posta
                    if (!amministrazioneXml.NewServerPosta(codice, serverPop, portaPop, serverSmtp, portaSmtp, dominio, descrizione))
                    {
                        throw new Exception();
                    }
                }
                if (mode == "MODIFIED")
                {
                    // Inserisci il server di posta
                    if (!amministrazioneXml.UpdateServerPosta(codice, serverPop, portaPop, serverSmtp, portaSmtp, dominio, descrizione))
                    {
                        throw new Exception();
                    }
                }
                if (mode == "DELETED")
                {
                    //cancella server di posta
                    if (!amministrazioneXml.DeleteServerPosta(codice))
                    {
                        throw new Exception();
                    }
                }
            }
        }