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) { } /// /// dimensione pagina grid view /// 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)); } } protected void ods_Updating(object sender, ObjectDataSourceMethodEventArgs e) { // aggiungo operatore... e.InputParameters["Operatore"] = user_std.UtSn.utente; if (e.InputParameters["ValoreMis"] == null) e.InputParameters["ValoreMis"] = ""; } /// /// verifica se l'utente sia un SuperUser (e possa di conseguenza operare...) /// protected bool userIsSuper { get { bool answ = true; return answ; } } /// /// 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... /// /// azione x deroga: ADD / REM /// valore attuale deroga /// valore di OK/KO misura /// 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; } /// /// ultimo comando letto da link button /// public string lastCmd { get; set; } /// /// selezione comando (x intercettare deroghe) /// /// /// 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(); } } }