using CMS_SC_Data; using SteamWare; using System; using System.Web.UI.WebControls; namespace CMS_SC.WebUserControls { public partial class mod_collaudi : SteamWare.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 int Rev { get { int answ = 0; try { int.TryParse(hfRev.Value, out answ); } catch { } return answ; } set { hfRev.Value = value.ToString(); } } 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}Rev: [{4}]{0}Eccezione:{0}{5}", Environment.NewLine, IdxDossier, CodSchedaVers, Fase, Rev, exc)); } } /// /// intercetto valori... /// /// /// 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"; } /// /// verifica se l'utente sia un SuperUser (e possa di conseguenza operare...) /// protected bool userCanDerogate { get { // 2018.02.21 SOLO chi ah deroga può procedere... //return (userIsCapoOfficina || userIsCapoGruppo || userIsDerogator); return userIsDerogator; } } /// /// verifica se utente sia SuperUser /// public bool userIsCapoOfficina { get { return devicesAuthProxy.stObj.userHasRight(memLayer.ML.CRS("CapoOfficinaRole")); } } /// /// verifica se utente sia SuperUser /// public bool userIsCapoGruppo { get { return devicesAuthProxy.stObj.userHasRight(memLayer.ML.CRS("CapoGruppo")); } } /// /// verifica se utente sia SuperUser /// public bool userIsDerogator { get { return devicesAuthProxy.stObj.userHasRight(memLayer.ML.CRS("DerogaRole")); } } /// /// 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 = userCanDerogate && !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 = ""; int Rev = 0; 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(); int.TryParse(grView.SelectedDataKey["Rev"].ToString(), out Rev); } catch { } // verifico se ho cmd argumento x fare ADD/DEL... switch (lastCmd) { case "ADD": DtProxy.man.taMis.deroga(IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, Rev, 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, Rev, ""); break; case "HIDE": DtProxy.man.taMis.SetVisib(IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, Rev, "X"); break; case "SHOW": DtProxy.man.taMis.SetVisib(IdxDossier, CodScheda, Vers, NumScheda, CodMisura, Fase, Rev, "FCS"); break; } grView.SelectedIndex = -1; grView.DataBind(); raiseEvent(ucEvType.ReqUpdateParent); } 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(); } } /// /// formatta URL x mostrare i file associati al record /// /// /// /// 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; } /// /// save del record /// /// /// protected void btnSave_Click(object sender, EventArgs e) { //// salvo //int idxEdit = grView.EditIndex; //grView.UpdateRow(grView.EditIndex, false); //grView.EditIndex = -1; //grView.DataBind(); // verifico SE sia in editing... if (grView.EditIndex >= 0) { // salvo grView.UpdateRow(grView.EditIndex, false); grView.EditIndex = -1; grView.DataBind(); } } /// /// recupera codice scheda/vers da scheda/vers/num /// /// /// protected string getPathDoc(string codSchedaVers) { string answ = ""; string codScheda = ""; if (codSchedaVers != "") { try { codScheda = codSchedaVers.Substring(0, codSchedaVers.LastIndexOf(".")); } catch { } if (codScheda != "") { try { answ = DtProxy.man.taASC.getByCodScheda(codScheda)[0].Path; } catch { answ = ""; } } } return answ; } /// /// verifica se ci sia un doc da mostrare... /// /// /// public bool hasDoc(object _currCodSchedaVers) { bool answ = false; string pathDoc = getPathDoc(_currCodSchedaVers.ToString()); if (pathDoc != "") { answ = DtProxy.notNullDocPath(pathDoc); } return answ; } /// /// link URL doc da mostrare... /// /// /// public string urlDoc(object _currCodSchedaVers) { string answ = ""; string pathDoc = getPathDoc(_currCodSchedaVers.ToString()); if (pathDoc != "") { answ = DtProxy.getDocPath(pathDoc); } return answ; } protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e) { // segnalo update raiseEvent(ucEvType.ReqUpdateParent); } /// /// Calcolo il TextBoxMode dato il valore del parametro TipoValMisura /// /// /// public TextBoxMode tModeByTipo(object TipoValMis) { TextBoxMode answ = TextBoxMode.SingleLine; if (TipoValMis.ToString() == "TEXTAREA") answ = TextBoxMode.MultiLine; return answ; } public string isHidden(object codVisib) { string answ = ""; // verifico, se ha "X" nei cod visib è HIDDEN... if (codVisib.ToString().ToUpper() == "X") answ = "textStrike"; return answ; } } }