/// <summary> /// Prende un oggetto del tipo PagineComuni da una colonna di chiave univoca /// </summary> public static PagineSito GetItem(string nome) { SiteConfigurationPagineSito pagina = SiteManager.SiteConfiguration.PagineSito.Where(p => p.Nome.ToLower() == nome.ToString().ToLower()).FirstOrDefault(); if (pagina == null) return null; var pagineSito = new PagineSito { Nome = pagina.Nome, AreaUtente = pagina.AreaUtente, Contenuto = pagina.Contenuto, }; return pagineSito; }
/// <summary> /// Elimina un oggetto del tipo PagineSistema /// </summary> public static bool Delete(out string avviso, PagineSito pagineSito) { avviso = string.Empty; if (pagineSito == null) return false; PagineSito sistema = pagineSito; SiteConfigurationPagineSito pagina = SiteManager.SiteConfiguration.PagineSito.Where(s => s.Nome == sistema.Nome).FirstOrDefault(); if (pagina == null) return false; SiteManager.SiteConfiguration.PagineSito = SiteManager.SiteConfiguration.PagineSito.Except(SiteManager.SiteConfiguration.PagineSito.Where(s => s.Nome == sistema.Nome)).ToArray(); SiteManager.SaveXml(); return true; }
/// <summary> /// Salva o aggiorna un oggetto del tipo PagineSistema da una colonna di chiave univoca /// </summary> public static bool Save(out string avviso, ref PagineSito pagineSito) { avviso = string.Empty; if (pagineSito == null) return false; if (!pagineSito.Validate()) { avviso = pagineSito.BrokenRules.ToString(); return false; } //Controllo che il nome non sia uguale al nome di una pagina di sistema bool invalidName = false; foreach (var name in Enum.GetNames(typeof(PagineSistema.PagineSistemaEnum))) if (name.ToLower() == pagineSito.Nome.ToLower()) invalidName = true; if (invalidName) { avviso = "- Il nome specificato è utilizzato da una pagina di sistema"; return false; } PagineSito sistema = pagineSito; SiteConfigurationPagineSito pagina = SiteManager.SiteConfiguration.PagineSito.Where(s => s.Nome.ToLower() == sistema.Nome.ToLower()).FirstOrDefault(); bool inserimento = false; if (pagina == null) { pagina = new SiteConfigurationPagineSito(); inserimento = true; } pagina.Nome = pagineSito.Nome; pagina.Contenuto = pagineSito.Contenuto; pagina.AreaUtente = pagineSito.AreaUtente; if (inserimento) { var arrayList = new ArrayList(SiteManager.SiteConfiguration.PagineSito); arrayList.Add(pagina); SiteManager.SiteConfiguration.PagineSito = (SiteConfigurationPagineSito[])arrayList.ToArray(typeof(SiteConfigurationPagineSito)); } SiteManager.SaveXml(); return true; }
protected void ButtonSalvaClick(object sender, EventArgs e) { if (__TreeView_PagineSistema.SelectedNode != null) { var paginaSistema = PagineSistema.GetItem(__TreeView_PagineSistema.SelectedNode.Text); if (paginaSistema == null) return; paginaSistema.Contenuto = __TextBox_Contenuto.Text; if (!PagineSistema.Save(out Avviso, ref paginaSistema)) MessageBox(Avviso); else { MessageBoxOk(); LinkPagina = "<a target=\"_blank\" href=\"" + SiteManager.WebPath + "/" + paginaSistema.Nome.ToLower() + "\">" + SiteManager.WebPath + "/" + paginaSistema.Nome.ToLower() + "</a>"; FancyLink = "/amministratore/popup/sito/pagine/" + paginaSistema.Nome + ".htm"; } return; } if (__TreeView_PagineSito.SelectedNode != null) { var paginaSito = PagineSito.GetItem(__TreeView_PagineSito.SelectedValue); if (paginaSito == null) return; paginaSito.Nome = HttpUtility.HtmlEncode(__TextBox_Nome.Text); paginaSito.Contenuto = __TextBox_Contenuto.Text; paginaSito.AreaUtente = __CheckBox_Logged.Checked; if (!PagineSito.Save(out Avviso, ref paginaSito)) MessageBox(Avviso); else { MessageBoxOk(); LoadData(); LinkPagina = "<a target=\"_blank\" href=\"" + SiteManager.WebPath + "/" + paginaSito.Nome.ToLower() + "\">" + SiteManager.WebPath + "/" + paginaSito.Nome.ToLower() + "</a>"; FancyLink = "/amministratore/popup/sito/pagine/paginesito.htm"; } return; } //Se non è selezionato niente aggiungo una pagina sito var pSito = new PagineSito(); pSito.Nome = HttpUtility.HtmlEncode(__TextBox_Nome.Text); pSito.Contenuto = __TextBox_Contenuto.Text; pSito.AreaUtente = __CheckBox_Logged.Checked; if (!PagineSito.Save(out Avviso, ref pSito)) MessageBox(Avviso); else MessageBoxOk(); LoadData(); }