@model IEnumerable
@foreach (var item in Model) { // fix codice semaforo: sVe -> Ve, sRo ->Ro... string codSemaf = item.Semaforo; if (codSemaf.Length == 3) { codSemaf = codSemaf.Substring(1, 2); } string cssStatus = ViewBag.baseCss + codSemaf; // calcolo durata... TimeSpan TCAss = TimeSpan.FromMinutes((double)item.TCAssegnato); TimeSpan TCLav = TimeSpan.FromMinutes((double)item.TCLavRT); // converto a stringa! string TCAssegnato = TCAss.ToString(@"mm\:ss"); string TCLavorato = TCLav.ToString(@"mm\:ss"); // verifico se mostrare articolo o disegno... string sArticolo = ""; if (SteamWare.memLayer.ML.CRS("sART") == "CodArticolo") { sArticolo = item.CodArticolo; } else { sArticolo = item.Disegno; } // se fosse vuoto mostro cmq codArt tra parentesi... if (sArticolo == "") { sArticolo = string.Format("[{0}]", item.CodArticolo); } // se NON trova update da oltre "keepAliveMin" / 2 minuti rosso lo status comunicazione string cssComStatus = cssStatus; string showComErr = "invisible"; if (DateTime.Now.Subtract((DateTime)item.lastUpdate).TotalSeconds > SteamWare.memLayer.ML.CRI("keepAliveMin") * 60 / 2) { cssComStatus = ViewBag.baseCss + "Ro"; showComErr = "visible"; } // verifico SE è disabilitata modalità animazione -> blink a stati (e refresh 1s) if (SteamWare.memLayer.ML.CRS("doAnimate") == "1") { // blink se secondo pari... DateTime adesso = DateTime.Now; int resto = 0; Math.DivRem(adesso.Second, 2, out resto); if (resto == 0) { cssStatus += "_b"; } else if (cssComStatus.EndsWith("Ro")) { cssComStatus += "_b"; } }
@Html.DisplayFor(modelItem => item.Nome)
Art.
@sArticolo
@Html.DisplayFor(modelItem => item.DescrizioneStato)
@item.durata'
@*
OEE
xx%
*@
T.Ciclo
std: @TCAssegnato
act: @TCLavorato
Pezzi(prod/ord)
@Html.DisplayFor(modelItem => item.PezziProd) / @Html.DisplayFor(modelItem => item.NumPezzi)
}