using MP_MON.Models; using SteamWare; using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; namespace MP_MON.Controllers { public class HomeController : Controller { #region Private Fields private MapoMonEntities db = new MapoMonEntities(); #endregion Private Fields #region Public Methods public ActionResult Blink() { // ricarico ogni minuto COMUNQUE tutto... string pageRefreshSec = "60"; // se ho animazione refresh è ogni 2 sec... int pageRefreshMs = 2000; ViewBag.cssSemBase = "semBlink"; try { pageRefreshSec = memLayer.ML.CRS("pageRefreshSec"); } catch { } if (pageRefreshSec == "") { pageRefreshSec = "60"; } ViewBag.pageRefreshMs = pageRefreshMs; Response.AddHeader("Refresh", pageRefreshSec); return View("Index"); } public ActionResult checkIOB() { string esito = "ND"; // verifico TUTTE le macchine x il keepAlive e se almeno 1 è offline da oltre "keepAliveMin" minuti --> invio email!!! int keepAliveMin = 1; try { keepAliveMin = memLayer.ML.CRI("keepAliveMin"); } catch { } // recupero elenco macchine offline e mostro! var MappaStato = db.stp_MSE_getOffline(keepAliveMin); List risultato = MappaStato.ToList(); int numKO = risultato.Count; if (numKO > 0) { // scrivo esito esito = string.Format("Trovate {0} schede offline", numKO); // invio email... string from = memLayer.ML.CRS("_fromEmail"); string to = memLayer.ML.CRS("_checkIobEmail"); string subject = "MapoIOB - ciclo di controllo schede MapoIOB"; string body = string.Format("

Attenzione!

durante l'ultimo ciclo di controllo sono state {1}{0}", Environment.NewLine, esito); foreach (MappaStatoExpl item in risultato) { body += string.Format("{2}{0} \t\t | Art: {1}", item.Nome, item.CodArticolo, Environment.NewLine); } // se ho una pwd/user utilizzo smtp auth, altrimenti base... if ((memLayer.ML.CRS("_emailUser") != "") && (memLayer.ML.CRS("_emailPwd") != "")) { SteamWare.gestEmail.geAuth.mandaEmail(from, to, subject, body); } else { SteamWare.gestEmail.ge.mandaEmail(from, to, subject, body); } } else { esito = "OK"; } ViewBag.EsitoVerifica = esito; // inserisco elenco macchine offline x rendering in partialView return PartialView("_checkIOB", risultato); } public ActionResult Fix() { // ricarico ogni minuto COMUNQUE tutto... string pageRefreshSec = "60"; // refresh std ogni sec int pageRefreshMs = 1000; ViewBag.cssSemBase = "semFix"; try { pageRefreshSec = memLayer.ML.CRS("pageRefreshSec"); } catch { } if (pageRefreshSec == "") { pageRefreshSec = "60"; } ViewBag.pageRefreshMs = pageRefreshMs; Response.AddHeader("Refresh", pageRefreshSec); return View("Index"); } public ActionResult GetClock() { return PartialView("_mmClock"); } public ActionResult Index() { // ricarico ogni minuto COMUNQUE tutto... string pageRefreshSec = "60"; // refresh std ogni sec int pageRefreshMs = 1000; ViewBag.cssSemBase = "sem"; try { pageRefreshSec = memLayer.ML.CRS("pageRefreshSec"); } catch { } if (pageRefreshSec == "") { pageRefreshSec = "60"; } ViewBag.pageRefreshMs = pageRefreshMs; Response.AddHeader("Refresh", pageRefreshSec); // aggiungo il controllo del NUM MAX col x singola riga int maxCol = 6; try { maxCol = memLayer.ML.cdvi("MON_maxCol"); } catch { } ViewBag.maxCol = maxCol; // ritorno la view! return View(); } #endregion Public Methods } }