diff --git a/MP-SITE/WebUserControls/mod_logAllarmi.ascx b/MP-SITE/WebUserControls/mod_logAllarmi.ascx index adfab15f..86354076 100644 --- a/MP-SITE/WebUserControls/mod_logAllarmi.ascx +++ b/MP-SITE/WebUserControls/mod_logAllarmi.ascx @@ -15,7 +15,7 @@ - + @@ -24,7 +24,10 @@ Nessun record trovato - + + + + <%-- @@ -34,10 +37,28 @@ + + - - - <%----%> + + + + <%--
+ Invia +
+
+ Set +
--%> +
+ +
+
+
+ + + + + <%----%> <%----%>
diff --git a/MP-SITE/WebUserControls/mod_logAllarmi.ascx.cs b/MP-SITE/WebUserControls/mod_logAllarmi.ascx.cs index 4f7c9932..98cdb5ad 100644 --- a/MP-SITE/WebUserControls/mod_logAllarmi.ascx.cs +++ b/MP-SITE/WebUserControls/mod_logAllarmi.ascx.cs @@ -1,8 +1,6 @@ using SteamWare; using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; +using System.Text; using System.Web.UI; using System.Web.UI.WebControls; @@ -12,17 +10,17 @@ namespace MP_SITE.WebUserControls { #region Public Methods - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { - logger.lg.scriviLog("inizio caricamento dati FluxLog", tipoLog.INFO); + logger.lg.scriviLog("inizio caricamento dati Allarmi", tipoLog.INFO); } grView.PageSize = _numRighe; ods.DataBind(); if (memLayer.ML.CRI("_logLevel") > 5) { - logger.lg.scriviLog("fine caricamento dati FluxLog", tipoLog.INFO); + logger.lg.scriviLog("fine caricamento dati Allarmi", tipoLog.INFO); } if (!Page.IsPostBack) { @@ -39,11 +37,71 @@ namespace MP_SITE.WebUserControls #region Protected Methods + protected void lbkDoAck_Click(object sender, EventArgs e) + { + // recupero button + LinkButton lbtn = (LinkButton)sender; + if (lbtn != null) + { + var rawAlarmId = lbtn.CommandArgument; + int AlarmId = 0; + int.TryParse(rawAlarmId, out AlarmId); + if (AlarmId > 0) + { + // salvo ACK allarme + DataLayerObj.taAlarmLog.setAck(AlarmId, DateTime.Now, $"{DataLayerObj.MatrOpr} - {DataLayerObj.CognomeNomeOpr}"); + // ricarico + grView.DataBind(); + } + } + } + protected void lbtReset_Click(object sender, EventArgs e) { txtSearch.Text = ""; } + protected void lbtSendNotify_Click(object sender, EventArgs e) + { + // recupero button + LinkButton lbtn = (LinkButton)sender; + if (lbtn != null) + { + var rawAlarmId = lbtn.CommandArgument; + int AlarmId = 0; + int.TryParse(rawAlarmId, out AlarmId); + if (AlarmId > 0) + { + var alarmTab = DataLayerObj.taAlarmLog.getByKey(AlarmId); + if (alarmTab != null && alarmTab.Count > 0) + { + var alarmRow = alarmTab[0]; + // invio email... + string oggetto = $"Notifica allarme impianto {alarmRow.MachineId}"; + StringBuilder sb = new StringBuilder(); + sb.AppendLine("Attenzione: allarme presente per un periodo superiore alla soglia di controllo."); + sb.AppendLine(); + sb.AppendLine($"{alarmRow.ValDecoded}"); + sb.AppendLine(); + sb.AppendLine($"Info Area: {alarmRow.MemAddress}.{alarmRow.MemIndex} | Status {alarmRow.StatusVal}"); + sb.AppendLine(); + string corpo = sb.ToString().Replace($"{Environment.NewLine}", "
"); + + // FIXME TODO scegliere destinatario + bool fatto = DataLayerObj.sendEmail("samuele@steamware.net,giancarlo@teamware.net", oggetto, corpo); + if (fatto) + { + // salvo invio Notifica allarme + DataLayerObj.taAlarmLog.setNotify(AlarmId, DateTime.Now); + } + } + // ricarico + //doUpdate(); + grView.DataBind(); + } + } + } + protected void txtSearch_TextChanged(object sender, EventArgs e) { grView.DataBind(); diff --git a/MP-Site/WebUserControls/baseProdControl.cs b/MP-Site/WebUserControls/baseProdControl.cs index 0187fbc4..4bbbadb2 100644 --- a/MP-Site/WebUserControls/baseProdControl.cs +++ b/MP-Site/WebUserControls/baseProdControl.cs @@ -11,7 +11,7 @@ namespace MP_SITE.WebUserControls /// /// Oggetto datalayer specifico /// - private DataLayer DataLayerObj = new DataLayer(); + internal DataLayer DataLayerObj = new DataLayer(); #endregion Private Fields @@ -65,7 +65,7 @@ namespace MP_SITE.WebUserControls _resoconti = new resoconti(); if (!Page.IsPostBack) { - aggiornamento(); + doUpdate(); } } @@ -73,7 +73,7 @@ namespace MP_SITE.WebUserControls #region Public Methods - public virtual void aggiornamento() + public virtual void doUpdate() { } @@ -106,6 +106,27 @@ namespace MP_SITE.WebUserControls return user_std.UtSn.TraduciEn(lemma); } + /// + /// Conversione a bool del valore + /// + /// + /// + public bool getBool(object value) + { + bool answ = false; + string rawVal = $"{value}".ToUpper(); + // se è 1/0 --> len 1 + if (rawVal.Length == 1) + { + answ = rawVal == "1" || rawVal == "S" || rawVal == "Y"; + } + else + { + bool.TryParse($"{value}", out answ); + } + return answ; + } + #endregion Public Methods } } \ No newline at end of file diff --git a/MP-Site/WebUserControls/mod_logControlli.ascx.cs b/MP-Site/WebUserControls/mod_logControlli.ascx.cs index f6ef5a06..ead70792 100644 --- a/MP-Site/WebUserControls/mod_logControlli.ascx.cs +++ b/MP-Site/WebUserControls/mod_logControlli.ascx.cs @@ -26,7 +26,7 @@ namespace MP_SITE.WebUserControls #region Public Methods - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { diff --git a/MP-Site/WebUserControls/mod_logEventi.ascx.cs b/MP-Site/WebUserControls/mod_logEventi.ascx.cs index d6edb39b..121bc52a 100644 --- a/MP-Site/WebUserControls/mod_logEventi.ascx.cs +++ b/MP-Site/WebUserControls/mod_logEventi.ascx.cs @@ -5,7 +5,7 @@ namespace MP_SITE.WebUserControls { public partial class mod_logEventi : baseProdControl { - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { diff --git a/MP-Site/WebUserControls/mod_logFluxData.ascx.cs b/MP-Site/WebUserControls/mod_logFluxData.ascx.cs index a31c9c64..830683a5 100644 --- a/MP-Site/WebUserControls/mod_logFluxData.ascx.cs +++ b/MP-Site/WebUserControls/mod_logFluxData.ascx.cs @@ -8,7 +8,7 @@ namespace MP_SITE.WebUserControls { #region Public Methods - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { diff --git a/MP-Site/WebUserControls/mod_logScarti.ascx.cs b/MP-Site/WebUserControls/mod_logScarti.ascx.cs index 84d5de96..d1af7c10 100644 --- a/MP-Site/WebUserControls/mod_logScarti.ascx.cs +++ b/MP-Site/WebUserControls/mod_logScarti.ascx.cs @@ -26,7 +26,7 @@ namespace MP_SITE.WebUserControls #region Public Methods - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { diff --git a/MP-Site/WebUserControls/mod_logStati.ascx.cs b/MP-Site/WebUserControls/mod_logStati.ascx.cs index b4961ecb..7828cb7e 100644 --- a/MP-Site/WebUserControls/mod_logStati.ascx.cs +++ b/MP-Site/WebUserControls/mod_logStati.ascx.cs @@ -5,7 +5,7 @@ namespace MP_SITE.WebUserControls { public partial class mod_logStati : baseProdControl { - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { diff --git a/MP-Site/WebUserControls/mod_logTC.ascx.cs b/MP-Site/WebUserControls/mod_logTC.ascx.cs index ea2d8dd1..62e997b4 100644 --- a/MP-Site/WebUserControls/mod_logTC.ascx.cs +++ b/MP-Site/WebUserControls/mod_logTC.ascx.cs @@ -27,7 +27,7 @@ namespace MP_SITE.WebUserControls #region Public Methods - public override void aggiornamento() + public override void doUpdate() { if (memLayer.ML.CRI("_logLevel") > 5) { diff --git a/MapoDb/DataLayer.cs b/MapoDb/DataLayer.cs index 5f887560..4366bec8 100644 --- a/MapoDb/DataLayer.cs +++ b/MapoDb/DataLayer.cs @@ -3597,7 +3597,7 @@ namespace MapoDb userUrl = string.Format("{2}jumper.aspx?UserAuthkey={0}&idxDipendente={1}", UserAuthKey, idxDipendente, baseUrl); userWebUrl = string.Format("{2}jumper.aspx?UserAuthkey={0}&idxDipendente={1}", UserAuthKey, idxDipendente, baseWebUrl); corpo = string.Format("Hai ricevuto questa email su richiesta tua o dell'Admin per poter procedere a registrare un (nuovo) devices con GPW:{0}
Per proseguire clicca sul link seguente(rete interna):
{0}{0}{1}{0}{0}

oppure sul link seguente (internet):
{0}{0}{2}{0}{0}

Team GPW Steamware", Environment.NewLine, userUrl, userWebUrl); - gestEmail.ge.mandaEmail(mittente, destinatario, oggetto, corpo); + gestEmail.geAuth.mandaEmail(mittente, destinatario, oggetto, corpo); fatto = true; } catch { } @@ -3619,7 +3619,7 @@ namespace MapoDb { // compongo la stringa string mittente = memLayer.ML.CRS("_fromEmail"); - gestEmail.ge.mandaEmail(mittente, destinatario, oggetto, corpo); + gestEmail.geAuth.mandaEmail(mittente, destinatario, oggetto, corpo); fatto = true; } catch(Exception exc)