示例#1
0
        private void NavigateXmlForUpdate(XmlNode rootNode, string idAmm)
        {
            try
            {
                XmlNodeList nodiRuolo = rootNode.SelectNodes("RUOLO");

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

                    string codice      = this.GetXmlField("CODICE", node, false);
                    string descrizione = this.GetXmlField("DESCRIZIONE", node, false);
                    descrizione = DocsPaUtils.Functions.Functions.ReplaceApexes(descrizione);
                    int livello = Int32.Parse(this.GetXmlField("LIVELLO", node, false));
                    codice = codice.ToUpper();
                    DocsPaDB.Query_DocsPAWS.AmministrazioneXml amministrazioneXml = new DocsPaDB.Query_DocsPAWS.AmministrazioneXml();

                    if (mode == "CREATED")
                    {
                        string idRuolo = amministrazioneXml.NewRuolo(idAmm, codice, descrizione, livello);
                        if (idRuolo == null)
                        {
                            throw new Exception();
                        }
                    }

                    if (mode == "MODIFIED")
                    {
                        if (!amministrazioneXml.UpdateRuolo(idAmm, codice, descrizione, livello))
                        {
                            throw new Exception();
                        }
                    }

                    if (mode == "DELETED")
                    {
                        if (!amministrazioneXml.DeleteRuolo(idAmm, codice))
                        {
                            throw new Exception();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore durante l'update dei ruoli", e);
            }
        }