/// <summary> /// Prende un oggetto del tipo PagineComuni da una colonna di chiave univoca /// </summary> public static SezioniSito GetItem(string nome) { SiteConfigurationSezione pagina = SiteManager.SiteConfiguration.SezioniSito.Where(p => p.Nome.ToLower() == nome.ToString().ToLower()).FirstOrDefault(); if (pagina == null) return null; var sezioni = new SezioniSito { Contenuto = pagina.Contenuto, Nome = pagina.Nome, }; return sezioni; }
/// <summary> /// Elimina un oggetto del tipo Sezioni /// </summary> public static bool Delete(out string avviso, SezioniSito sezioni) { avviso = string.Empty; if (sezioni == null) return false; SezioniSito sistema = sezioni; SiteConfigurationSezione pagina = SiteManager.SiteConfiguration.SezioniSito.Where(s => s.Nome == sistema.Nome).FirstOrDefault(); if (pagina == null) return false; SiteManager.SiteConfiguration.SezioniSito = SiteManager.SiteConfiguration.SezioniSito.Except(SiteManager.SiteConfiguration.SezioniSito.Where(s => s.Nome == sistema.Nome)).ToArray(); 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; }
protected void ButtonSalvaClick(object sender, EventArgs e) { FancyLink = "/amministratore/popup/sito/sezioni/sezionisito.htm"; if (__TreeView_SezioniSistema.SelectedNode != null) { SezioniSistema.SezioniSistemaEnum sezioniSistemaEnum; if (!Enum.TryParse(__TreeView_SezioniSistema.SelectedNode.Text, true, out sezioniSistemaEnum)) { MessageBox("Questa è una sezione di raggruppamento, impossibile salvare in questo nodo"); return; } var paginaSistema = SezioniSistema.GetItem((SezioniSistema.SezioniSistemaEnum)Enum.Parse(typeof(SezioniSistema.SezioniSistemaEnum), __TreeView_SezioniSistema.SelectedNode.Text)); paginaSistema.Contenuto = __TextBox_Contenuto.Text; FancyLink = "/amministratore/popup/sito/sezioni/" + paginaSistema.Nome + ".htm"; if (!SezioniSistema.Save(out Avviso, ref paginaSistema)) MessageBox(Avviso); else MessageBoxOk(); return; } if (__TreeView_SezioniSito.SelectedNode != null) { var paginaSito = SezioniSito.GetItem(__TreeView_SezioniSito.SelectedValue); if (paginaSito == null) return; paginaSito.Nome = HttpUtility.HtmlEncode(__TextBox_Nome.Text); paginaSito.Contenuto = __TextBox_Contenuto.Text; if (!SezioniSito.Save(out Avviso, ref paginaSito)) MessageBox(Avviso); else { MessageBoxOk(); LoadData(); } return; } //Se non è selezionato niente aggiungo una pagina sito var pSito = new SezioniSito(); pSito.Nome = HttpUtility.HtmlEncode(__TextBox_Nome.Text); pSito.Contenuto = __TextBox_Contenuto.Text; if (!SezioniSito.Save(out Avviso, ref pSito)) MessageBox(Avviso); else MessageBoxOk(); LoadData(); }