Files
2022-02-03 07:29:11 +01:00

179 lines
5.2 KiB
C#

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<string, string> 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<string, string> 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);
}
/// <summary>
/// redirect
/// </summary>
private void returnHome()
{
Response.Redirect(memLayer.ML.CRS("baseUrl"));
}
private void setClock()
{
lblDateTime.Text = DateTime.Now.ToString("HH:mm:ss");
}
/// <summary>
/// imposta il tempo di scadenza del timer x il refresh della pagina (della parte top) per evitare che la sessione sul server scada
/// </summary>
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();
}
/// <summary>
/// rimanda a pagina precedente
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
}