262 lines
7.4 KiB
C#
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;
|
|
}
|
|
} |