@model IEnumerable
@{ // salvo variabili num blocchi x riga int numBlock = 0; int maxCol = 6; try { maxCol = ViewBag.maxCol; } catch { maxCol = 6; } if (maxCol == 0) { maxCol = 6; } } @foreach (var item in Model) { // fix codice semaforo: sVe -> Ve, sRo ->Ro... string codSemaf = item.Semaforo; // se nullo --> "" if (string.IsNullOrEmpty(codSemaf)) { codSemaf = "NA"; } 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"; if (cssComStatus.EndsWith("Ro")) { cssComStatus += "_b"; } } }
@Html.DisplayFor(modelItem => item.Nome)
Art.
@sArticolo
@Html.DisplayFor(modelItem => item.DescrizioneStato)
@string.Format("{0:0.00}", item.durata)'
@*
OEE
xx%
*@
T.Ciclo
std: @TCAssegnato
act: @TCLavorato
Pezzi(prod/ord)
@Html.DisplayFor(modelItem => item.PezziProd) / @Html.DisplayFor(modelItem => item.NumPezzi)
// controllo se ho resto zero --> uso NUOVA riga... if ((numBlock % maxCol) == maxCol - 1) { @Html.Raw("
"); } // incremento contatore numBlock++; } @{ // controllo se NON SONO arrivao in fondo --> aggiungo blocchi! int currNum = (numBlock % maxCol); while (currNum < (maxCol)) { @Html.Raw("
aaa
"); currNum++; } }