Files
XPS/XPS/WebUserControls/mod_testata.ascx.cs
T
2017-02-13 11:31:59 +01:00

262 lines
7.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SteamWare;
using XPS_data;
namespace XPS.WebUserControls
{
public partial class mod_testata : SteamWare.UserControl
{
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// se l'utente NON c'è torno a login...
if (!devicesAuthProxy.stObj.isAuth)
{
string lastPage = Request.Url.LocalPath.Split('/').Last();
if (lastPage != "" && lastPage != "login")
{
Session["nextPage"] = lastPage;
}
Response.Redirect("login");
}
else
{
PagCorrente();
updateTreeMenu();
}
// fix componenti
hlHome.DataBind();
}
}
public string cssIconPag
{
get
{
string answ = "";
try
{
DS_Auth.PermessiRow riga = (DS_Auth.PermessiRow)devicesAuthProxy.stObj.permessi.Select(string.Format("URL = '{0}.aspx' OR URL = '{0}'", devicesAuthProxy.pagCorrente))[0];
answ = traduci(riga.DESCRIZIONE);
}
catch
{ }
return answ;
}
}
public string nomePag
{
get
{
string answ = "";
try
{
DS_Auth.PermessiRow riga = (DS_Auth.PermessiRow)devicesAuthProxy.stObj.permessi.Select(string.Format("URL = '{0}.aspx' OR URL = '{0}'", devicesAuthProxy.pagCorrente))[0];
answ = traduci(riga.NOME);
}
catch
{ }
return answ;
}
}
/// <summary>
/// aggiornamento del menù
/// </summary>
private void updateTreeMenu()
{
try
{
if (devicesAuthProxy.stObj.mappaSito == "")
{
Response.Redirect("Default");
}
XmlMenu.Data = devicesAuthProxy.stObj.mappaSito;
XmlMenu.XPath = "mainMenu/menu";
XmlMenu.DataBind();
}
catch
{
Response.Redirect(devicesAuthProxy.pagCorrente);
}
}
/// <summary>
/// forza l'update del menù sx
/// </summary>
public void forzaUpdateMenu()
{
devicesAuthProxy.stObj.ricaricaMappaSito();
updateTreeMenu();
}
public string liClass(string nomeElem)
{
string answ = "";
try
{
if (devicesAuthProxy.pagCorrente.IndexOf(nomeElem) >= 0) answ = "active";
}
catch
{ }
return answ;
}
/// <summary>
/// tooltip che indica se user autorizzato
/// </summary>
public string usrAuthToolTip
{
get
{
string answ = "";
try
{
if (userAuthOk)
{
answ = string.Format("{0} - {1}", traduci("UserAuthOk"), devicesAuthProxy.stObj.CognomeNome);
}
else
{
answ = traduci("UserAuthKo");
}
}
catch
{ }
return answ;
}
}
/// <summary>
/// text x user autorizzato
/// </summary>
public string usrAuthText
{
get
{
string answ = "...";
try
{
if (userAuthOk)
{
answ = devicesAuthProxy.stObj.CognomeNome;
}
else
{
answ = "...";
}
}
catch
{ }
return answ;
}
}
/// <summary>
/// css x colore icona user auth
/// </summary>
public string usrAuthCss
{
get
{
string answ = "";
try
{
if (userAuthOk)
{
answ = "checkOk";
}
else
{
answ = "checkKo";
}
}
catch
{ }
return answ;
}
}
protected bool userAuthOk
{
get
{
return devicesAuthProxy.stObj.isAuth;
}
}
/// <summary>
/// salva in variabile pagina il nome della pagina corrente
/// </summary>
protected void PagCorrente()
{
string[] uri = Request.Url.LocalPath.Split('/');
// salvo pagina corrente
devicesAuthProxy.pagCorrente = uri.Last();
if (devicesAuthProxy.pagPrecedente == "")
{
devicesAuthProxy.pagPrecedente = devicesAuthProxy.pagCorrente;
}
}
/// <summary>
/// effettua un update completo dei valori in sessione
/// </summary>
private void doFullDataUpdate()
{
// svuoto session e cache per rileggere i dati da Db
Session.RemoveAll();
memLayer.ML.setSessionVal("nextPage", devicesAuthProxy.pagCorrente);
Response.Redirect("login");
}
/// <summary>
/// click su pagina corrente, fa update!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbnUpdate_Click(object sender, EventArgs e)
{
doFullDataUpdate();
}
/// <summary>
/// verifica se la pagina abbia abilitato il search
/// </summary>
public bool pageHasSearch { get; set; }
/// <summary>
/// modifica campo ricerca...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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());
}
}
/// <summary>
/// valore ricerca
/// </summary>
public string searchVal
{
get
{
return txtSearch.Text.Trim();
}
set
{
memLayer.ML.setSessionVal("valoreCercato", value, true);
txtSearch.Text = value;
}
}
public event EventHandler eh_nuovaRicerca;
}
}