/// <summary>
        /// 	Salva o aggiorna un oggetto del tipo Sezioni da una colonna di chiave univoca
        /// </summary>
        public static bool Save(out string avviso, ref SezioniPersonali sezioni)
        {
            avviso = string.Empty;

            if (sezioni == null) return false;

            if (!sezioni.Validate())
            {
                avviso = sezioni.BrokenRules.ToString();
                return false;
            }

            SezioniPersonali sistema = sezioni;
            SiteConfigurationSezione pagina = SiteManager.SiteConfiguration.SezioniPersonali.Where(s => s.Nome.ToLower() == sistema.Nome.ToLower()).FirstOrDefault();

            bool inserimento = false;
            if (pagina == null)
            {
                pagina = new SiteConfigurationSezione();
                inserimento = true;
            }

            pagina.Nome = sezioni.Nome;
            pagina.Contenuto = sezioni.Contenuto;

            if (inserimento)
            {
                var arrayList = new ArrayList(SiteManager.SiteConfiguration.SezioniPersonali);
                arrayList.Add(pagina);
                SiteManager.SiteConfiguration.SezioniPersonali = (SiteConfigurationSezione[])arrayList.ToArray(typeof(SiteConfigurationSezione));
            }

            SiteManager.SaveXml();

            return true;
        }
        /// <summary>
        /// 	Salva o aggiorna un oggetto del tipo Sezioni da una colonna di chiave univoca
        /// </summary>
        public static bool Save(out string avviso, ref SezioniSito sezioni)
        {
            avviso = string.Empty;

            if (sezioni == null) return false;

            if (!sezioni.Validate())
            {
                avviso = sezioni.BrokenRules.ToString();
                return false;
            }

            //Controllo che il nome non sia uguale al nome di una sezione di sistema
            bool invalidName = false;
            foreach (var name in Enum.GetNames(typeof(SezioniSistema.SezioniSistemaEnum)))
                if (name.ToLower() == sezioni.Nome.ToLower()) invalidName = true;

            if (invalidName)
            {
                avviso = "- Il nome specificato è utilizzato da una sezione di sistema";
                return false;
            }

            SezioniSito sistema = sezioni;
            SiteConfigurationSezione pagina = SiteManager.SiteConfiguration.SezioniSito.Where(s => s.Nome.ToLower() == sistema.Nome.ToLower()).FirstOrDefault();

            bool inserimento = false;
            if (pagina == null)
            {
                pagina = new SiteConfigurationSezione();
                inserimento = true;
            }

            pagina.Nome = sezioni.Nome;
            pagina.Contenuto = sezioni.Contenuto;

            if (inserimento)
            {
                var arrayList = new ArrayList(SiteManager.SiteConfiguration.SezioniSito);
                arrayList.Add(pagina);
                SiteManager.SiteConfiguration.SezioniSito = (SiteConfigurationSezione[])arrayList.ToArray(typeof(SiteConfigurationSezione));
            }

            SiteManager.SaveXml();

            return true;
        }