private void NavigateXmlForUpdate(XmlNode rootNode, string idAmm) { XmlNodeList nodiRagioni = rootNode.SelectNodes("RAGIONE"); // Estrazione dati e nodi sottostanti foreach (XmlNode node in nodiRagioni) { string mode = ""; XmlAttribute attribute = node.Attributes["MODE"]; if (attribute != null) { mode = attribute.InnerText.ToUpper(); } // Leggi dati string codice = this.GetXmlField("CODICE", node, false).ToUpper(); string tipo = this.GetXmlField("TIPO", node, false); string visibilita = this.GetXmlField("VISIBILITA", node, false); string diritti = this.GetXmlField("DIRITTI", node, false); string destinatario = this.GetXmlField("DESTINATARIO", node, false); string risposta = this.GetXmlField("RISPOSTA", node, false); string tipoRisposta = this.GetXmlField("TIPORISPOSTA", node, false); string eredita = this.GetXmlField("EREDITA", node, false); string note = this.GetXmlField("NOTE", node, false); string notifica = this.GetXmlField("NOTIFICA", node, false); DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml(); if (mode == "CREATED") { if (!amministrazioneXml.NewRagioneTrasmissione(codice, tipo, visibilita, diritti, destinatario, risposta, tipoRisposta, eredita, note, notifica, idAmm)) { throw new Exception(); } } if (mode == "MODIFIED") { // modifica i dati if (!amministrazioneXml.UpdateRagioneTrasmissione(codice, tipo, visibilita, diritti, destinatario, risposta, tipoRisposta, eredita, note, notifica, idAmm)) { throw new Exception(); } } if (mode == "DELETED") { if (!amministrazioneXml.DeleteRagioneTrasmissione(codice, idAmm)) { throw new Exception(); } } } }