Files
SSC/CMS_SC/WebUserControls/mod_collaudi.ascx.cs
T
2015-09-16 17:30:14 +02:00

260 lines
7.9 KiB
C#

using CMS_SC_Data;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace CMS_SC.WebUserControls
{
public partial class mod_collaudi : System.Web.UI.UserControl
{
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;
}
}
public int IdxDossier
{
get
{
int answ = -1;
try
{
answ = Convert.ToInt32(hfIdxDossier.Value);
}
catch
{ }
return answ;
}
set
{
hfIdxDossier.Value = value.ToString();
}
}
public string CodSchedaVers
{
get
{
string answ = "-";
try
{
answ = hfCodSchedaVers.Value;
}
catch
{ }
return answ;
}
set
{
hfCodSchedaVers.Value = value;
}
}
public string Fase
{
get
{
string answ = "-";
try
{
answ = hfFase.Value;
}
catch
{ }
return answ;
}
set
{
hfFase.Value = value;
}
}
public void doUpdate()
{
try
{
grView.DataBind();
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("Eccezione in databind, valori filtro{0}Dossier: [{1}]{0}CodScheda: [{2}]{0}Fase: [{3}]{0}Eccezione:{0}{4}", Environment.NewLine, IdxDossier, CodSchedaVers, Fase, exc));
}
}
/// <summary>
/// intercetto valori...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ods_Updating(object sender, ObjectDataSourceMethodEventArgs e)
{
// aggiungo operatore...
e.InputParameters["Operatore"] = user_std.UtSn.utente;
// fix eventuali null x misura...
if (e.InputParameters["ValoreMis"] == null) e.InputParameters["ValoreMis"] = "";
// ...e parametro
if (e.InputParameters["ValorePar"] == null) e.InputParameters["ValorePar"] = "0";
}
/// <summary>
/// verifica se l'utente sia un SuperUser (e possa di conseguenza operare...)
/// </summary>
protected bool userIsSuper
{
get
{
bool answ = true;
return answ;
}
}
/// <summary>
/// verifica la possibilità di deroga utente: se
/// - è KO la misura
/// - è utente admin
/// - in base al tipo di action (add/rem), dipende se ci sia deroga...
/// </summary>
/// <param name="actionType">azione x deroga: ADD / REM</param>
/// <param name="CodDeroga">valore attuale deroga</param>
/// <param name="OkValMis">valore di OK/KO misura</param>
/// <returns></returns>
public bool hasDeroga(string actionType, object CodDeroga, object OkValMis)
{
bool answ = false;
bool okAddRem = ((CodDeroga.ToString() == "" && actionType == "ADD") || (CodDeroga.ToString() != "" && actionType == "REM"));
try
{
answ = userIsSuper && !Convert.ToBoolean(OkValMis) && okAddRem;
}
catch
{ }
return answ;
}
/// <summary>
/// ultimo comando letto da link button
/// </summary>
public string lastCmd { get; set; }
/// <summary>
/// selezione comando (x intercettare deroghe)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
int IdxDossier = 0;
string CodScheda = "";
int Vers = 0;
int NumScheda = 0;
string CodMisura = "";
string Fase = "";
try
{
IdxDossier = Convert.ToInt32(grView.SelectedDataKey["IdxDossier"]);
CodScheda = grView.SelectedDataKey["CodScheda"].ToString();
Vers = Convert.ToInt32(grView.SelectedDataKey["Vers"]);
NumScheda = Convert.ToInt32(grView.SelectedDataKey["NumScheda"]);
CodMisura = grView.SelectedDataKey["CodMisura"].ToString();
Fase = grView.SelectedDataKey["Fase"].ToString();
}
catch
{ }
// verifico se ho cmd argumento x fare ADD/DEL...
switch (lastCmd)
{
case "ADD":
DtProxy.man.taMis.deroga(IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, string.Format("{0} - {1:yyyy/MM/dd HH:mm}", user_std.UtSn.utente, DateTime.Now));
break;
case "REM":
DtProxy.man.taMis.deroga(IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, "");
break;
}
grView.SelectedIndex = -1;
grView.DataBind();
}
protected void grView_RowCommand(object sender, GridViewCommandEventArgs e)
{
// salvo il command argument...
lastCmd = e.CommandArgument.ToString();
}
public bool editEnabled
{
get
{
bool answ = false;
try
{
answ = Convert.ToBoolean(hfEditEnabled.Value);
}
catch
{ }
return answ;
}
set
{
hfEditEnabled.Value = value.ToString();
}
}
/// <summary>
/// wrapper traduzione
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
/// <summary>
/// formatta URL x mostrare i file associati al record
/// </summary>
/// <param name="_filter"></param>
/// <param name="_enableMod"></param>
/// <returns></returns>
public string fileTarget(object _filter, object _enableMod)
{
string answ = "FileManager";
try
{
answ = string.Format(memLayer.ML.CRS("fileManUrl"), _filter, _enableMod);
}
catch
{ }
return answ;
}
public string contaAllegati(object filtro)
{
string answ = traduci("FileAllegati");
try
{
int numFile = DtProxy.man.taFiles.getByFiltKey(filtro.ToString()).Rows.Count;
answ = string.Format("{0} {1}", numFile, answ);
}
catch
{ }
return answ;
}
#if false
protected void lbFileMan_DataBinding(object sender, EventArgs e)
{
LinkButton lnkBtn = (LinkButton)sender;
lnkBtn.Attributes.Add("target", "_blank");
//lnkBtn.Attributes.Add("onClick", "window.open (this.href, 'Files', 'height=500,width=400,scrollbars'); return false");
}
#endif
}
}