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