using SteamWare; using System; using System.Collections.Generic; using System.Linq; using System.Web.UI; namespace GIM_site.WebUserControls { public partial class mod_testata : ApplicationUserControl { /// /// caricamento pagina /// /// /// protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!Page.IsPostBack) { // se l'utente NON c'è torno a login... if (!user_std.UtSn.isAuth) { string nextPage = Request.Url.LocalPath.Split('/').Last(); // solo SE non sono già su login (x evitare loop...) if (nextPage != "login") { Session["nextPage"] = nextPage; Response.Redirect("login"); } } else { PagCorrente(); updateTreeMenu(); } // fix componenti hlHome.DataBind(); } } public string cssIconPag { get { string answ = ""; DataLayer_AnagGen.PermessiRow riga; try { riga = (DataLayer_AnagGen.PermessiRow)user_std.UtSn.permessi.Select(string.Format("URL = '{0}'", user_std.pagCorrente))[0]; answ = traduci(riga.DESCRIZIONE); } catch { } return answ; } } public string nomePag { get { string answ = ""; try { DataLayer_AnagGen.PermessiRow riga = (DataLayer_AnagGen.PermessiRow)user_std.UtSn.permessi.Select(string.Format("URL = '{0}'", user_std.pagCorrente))[0]; answ = traduci(riga.NOME); } catch (Exception exc) { logger.lg.scriviLog(string.Format("Errore in recupero permesso x pagina corrente: {0}{1}{2}", user_std.pagCorrente, Environment.NewLine, exc)); } return answ; } } /// /// wrapper traduzione /// /// /// public string traduci(object lemma) { return user_std.UtSn.Traduci(lemma.ToString()); } /// /// aggiornamento del menù /// private void updateTreeMenu() { try { if (user_std.UtSn.mappaSito == "") { Response.Redirect("default"); } XmlMenu.Data = user_std.UtSn.mappaSito; XmlMenu.XPath = "mainMenu/menu"; XmlMenu.DataBind(); } catch { Response.Redirect(user_std.pagCorrente); } } /// /// forza l'update del menù sx /// public void forzaUpdateMenu() { user_std.UtSn.ricaricaMappaSito(); updateTreeMenu(); } public string liClass(string nomeElem) { string answ = ""; try { if (user_std.pagCorrente.IndexOf(nomeElem) >= 0) answ = "active"; } catch { } return answ; } /// /// salva in variabile pagina il nome della pagina corrente /// protected override void PagCorrente() { base.PagCorrente(); string[] uri = Request.Url.LocalPath.Split('/'); // salvo pagina corrente user_std.pagCorrente = uri.Last(); if (user_std.pagPrecedente == "") { user_std.pagPrecedente = user_std.pagCorrente; } } /// /// effettua un update completo dei valori in sessione /// private void doFullDataUpdate() { // salvo i dati attuali... string cod_cdc = SteamWare.memLayer.ML.StringSessionObj("valRicercaCdC"); string lingua = user_std.UtSn.lingua; string USER_NAME = SteamWare.memLayer.ML.StringSessionObj("USER_NAME"); string DOMINIO = SteamWare.memLayer.ML.StringSessionObj("DOMINIO"); bool isForceUser = user_std.UtSn.isForcedUser; // salvo i valori delle tab in session... Dictionary sessionParam = SteamWare.memLayer.ML.valSess2SurvUpd; // svuoto session e cache per rileggere i dati da Db Session.RemoveAll(); SteamWare.memLayer.ML.flushRegisteredCache(); // rimemorizzo SteamWare.memLayer.ML.setSessionVal("valRicercaCdC", cod_cdc); user_std.UtSn.startUpUtente(DOMINIO, USER_NAME); user_std.UtSn.lingua = lingua; user_std.UtSn.isForcedUser = isForceUser; DataWrap.DW.resetVocabolario(); // risalvo in session i valori... foreach (KeyValuePair kvp in sessionParam) { SteamWare.memLayer.ML.setSessionVal(kvp.Key, kvp.Value, true); } Response.Redirect(_paginaCorrente); } /// /// click su pagina corrente, fa update! /// /// /// protected void lbnUpdate_Click(object sender, EventArgs e) { doFullDataUpdate(); } /// /// verifica se la pagina abbia abilitato il search /// public bool pageHasSearch { get; set; } /// /// modifica campo ricerca... /// /// /// protected void txtSearch_TextChanged(object sender, EventArgs e) { // salvo in sessione memLayer.ML.setSessionVal("valoreCercato", txtSearch.Text.Trim(), true); // raise dell'evento if (eh_nuovaRicerca != null) { eh_nuovaRicerca(this, new EventArgs()); } } /// /// valore ricerca /// public string searchVal { get { return txtSearch.Text.Trim(); } set { memLayer.ML.setSessionVal("valoreCercato", value, true); txtSearch.Text = value; } } public event EventHandler eh_nuovaRicerca; } }