179 lines
4.0 KiB
C#
179 lines
4.0 KiB
C#
using CMS_SC_Data;
|
|
using SteamWare;
|
|
using System;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace CMS_SC.WebUserControls
|
|
{
|
|
public partial class mod_elencoDossiers : System.Web.UI.UserControl
|
|
{
|
|
/// <summary>
|
|
/// selezione valore in DettScheda
|
|
/// </summary>
|
|
public event EventHandler eh_selezioneValore;
|
|
/// <summary>
|
|
/// eliminazione Scheda
|
|
/// </summary>
|
|
public event EventHandler eh_deleteVal;
|
|
/// <summary>
|
|
/// sollevo evento selezione
|
|
/// </summary>
|
|
protected void raiseEvent()
|
|
{
|
|
// sollevo evento nuovo valore...
|
|
if (eh_selezioneValore != null)
|
|
{
|
|
eh_selezioneValore(this, new EventArgs());
|
|
}
|
|
}
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
}
|
|
/// <summary>
|
|
/// dimensione pagina grid view
|
|
/// </summary>
|
|
public int pageSize
|
|
{
|
|
get
|
|
{
|
|
return grView.PageSize;
|
|
}
|
|
set
|
|
{
|
|
grView.PageSize = value;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// dossier selezionato
|
|
/// </summary>
|
|
public int idxDossier
|
|
{
|
|
get
|
|
{
|
|
int answ = 0;
|
|
try
|
|
{
|
|
answ = Convert.ToInt32(grView.SelectedDataKey["IdxDossier"]);
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// selezione scheda...
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
raiseEvent();
|
|
}
|
|
protected void btnReset_Click(object sender, EventArgs e)
|
|
{
|
|
resetSelezione();
|
|
}
|
|
/// <summary>
|
|
/// resetto selezione
|
|
/// </summary>
|
|
private void resetSelezione()
|
|
{
|
|
grView.SelectedIndex = -1;
|
|
grView.DataBind();
|
|
raiseEvent();
|
|
}
|
|
/// <summary>
|
|
/// wrapper traduzione
|
|
/// </summary>
|
|
/// <param name="lemma"></param>
|
|
/// <returns></returns>
|
|
public string traduci(string lemma)
|
|
{
|
|
return user_std.UtSn.Traduci(lemma);
|
|
}
|
|
/// <summary>
|
|
/// imposta se sia abilitato delete "in genere" per il controllo
|
|
/// </summary>
|
|
public bool showDelete
|
|
{
|
|
get
|
|
{
|
|
return memLayer.ML.BoolSessionObj(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente));
|
|
}
|
|
set
|
|
{
|
|
if (value != memLayer.ML.BoolSessionObj(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente)))
|
|
{
|
|
memLayer.ML.setSessionVal(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente), value);
|
|
grView.DataBind();
|
|
}
|
|
}
|
|
}
|
|
protected bool enableDelDossier
|
|
{
|
|
get
|
|
{
|
|
return memLayer.ML.BoolSessionObj("enableDelDossier");
|
|
}
|
|
}
|
|
|
|
public bool userCanDel(object _idxDossier)
|
|
{
|
|
// se è superuser è true SE non ha misure...
|
|
bool answ = false;
|
|
int idxDossier = 0;
|
|
int trovati = 0;
|
|
// altrimenti verifico se sia un dossier "vuoto" e quindi eliminabile...
|
|
try
|
|
{
|
|
idxDossier = Convert.ToInt32(_idxDossier);
|
|
// cerco se ci sono record misure (NON devono esserci...)
|
|
trovati = DtProxy.man.taMis.getByDossier(idxDossier).Rows.Count;
|
|
}
|
|
catch
|
|
{ }
|
|
if (trovati == 0)
|
|
{
|
|
answ = true;
|
|
}
|
|
return answ || (userIsAdmin && enableDelDossier);
|
|
}
|
|
|
|
/// <summary>
|
|
/// determina se user sia SuperAdmin
|
|
/// </summary>
|
|
public bool userIsAdmin
|
|
{
|
|
get
|
|
{
|
|
bool answ = false;
|
|
try
|
|
{
|
|
answ = devicesAuthProxy.stObj.userHasRight("SuperAdmin");
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
public void doUpdate()
|
|
{
|
|
grView.DataBind();
|
|
}
|
|
|
|
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
|
|
{
|
|
grView.DataBind();
|
|
// sollevo evento nuovo valore...
|
|
if (eh_deleteVal != null)
|
|
{
|
|
eh_deleteVal(this, new EventArgs());
|
|
}
|
|
}
|
|
|
|
protected void grView_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
|
|
}
|
|
}
|
|
} |