示例#1
0
        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();
                    }
                }
            }
        }