using SteamWare; using System; using System.Collections.Generic; using System.Web.UI; public partial class mod_menuTop : ApplicationUserControl { #region Private Fields private string _titleString; #endregion Private Fields #region Public Events public event EventHandler eh_reqUpdateMenu; public event EventHandler eh_toggleMenuSx; #endregion Public Events #region Private Methods 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); } // cambio visibilità del menù laterale... if (eh_reqUpdateMenu != null) { eh_reqUpdateMenu(this, new EventArgs()); } Response.Redirect(_paginaCorrente); } /// /// redirect /// private void returnHome() { Response.Redirect(memLayer.ML.CRS("baseUrl")); } private void setClock() { lblDateTime.Text = DateTime.Now.ToString("HH:mm:ss"); } /// /// imposta il tempo di scadenza del timer x il refresh della pagina (della parte top) per evitare che la sessione sul server scada /// private void setTimer() { Timer1.Interval = SteamWare.memLayer.ML.confReadInt("intUpdatePagina_ms"); } #endregion Private Methods #region Protected Methods protected override void bindControlli() { if (!Page.IsPostBack) { lnkHelp.ToolTip = traduci("ApriManualeHelp"); // solo se user è auth... if (user_std.UtSn.isAuth) { lnkShowHide.Text = traduci("lnkShowHide"); lblTitle.Text = traduci(SteamWare.memLayer.ML.confReadString("titleApp")); if (!string.IsNullOrEmpty(_titleString)) { // traduzione di tutti i termini lblMessUtente.Text = traduci(_titleString); //doppio in english! _titleString = ""; Session["_titleString"] = _titleString; Session["SessionUpdateMenu"] = true; } else { string titolo = traduci(SteamWare.memLayer.ML.confReadString("welcomeApp")); lblMessUtente.Text = string.Format("{0} - {1}", titolo, memLayer.ML.confReadString("SiteName")); Session["SessionUpdateMenu"] = false; } btnLogOut.Text = traduci("LogOut"); btnUpdate.Text = traduci("Update"); lblUser.Text = String.Format("{0}: {1}", traduci("User"), user_std.UtSn.CognomeNome); setTimer(); setClock(); } } } protected void btnLogOut_Click(object sender, EventArgs e) { Session.Abandon(); Response.Redirect("forceUser.aspx"); } protected void btnUpdate_Click(object sender, EventArgs e) { doFullDataUpdate(); } /// /// rimanda a pagina precedente /// /// /// protected void lbHome_Click(object sender, EventArgs e) { returnHome(); } protected void lblUser_Click(object sender, EventArgs e) { Response.Redirect("./chLang.aspx"); } protected void lnkShowHide_Click(object sender, EventArgs e) { // cambio visibilità del menù laterale... if (eh_toggleMenuSx != null) { eh_toggleMenuSx(this, new EventArgs()); } } protected override void loadSessionData() { base.loadSessionData(); _titleString = SteamWare.memLayer.ML.StringSessionObj("_titleString"); } protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); btnLogOut.Visible = user_std.UtSn.isForcedUser; if (memLayer.ML.isInSessionObject("doUpdateNow")) { doFullDataUpdate(); memLayer.ML.emptySessionVal("doUpdateNow"); } } protected void Timer1_Tick(object sender, EventArgs e) { setClock(); } #endregion Protected Methods }