/// <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; }