Quote:
Originariamente inviato da RaouL_BennetH
Ciao
Si, leggono dati solo da un db. Non c'è nessun servizio che gestisce l'applicazione.
Provo a spiegarmi meglio, ieri ero davvero stanchissimo
Codice:
//i nomi di metodi ed entità sono solo concettuali
private void Foo(int prodottoID, int terminaleID, bool segnaleRicevuto)
{
int counter = context.ProdottoSchedaLavorazioni.Where(x => x.id_prodotto == prodottoID).Count();
//ora prendo la prima fase di lavorazione
var primoStep = context.FaseLavori.First(x => x.ProdottoSchedaLavorazioni.id_prodotto == prodottoID && x.id_terminale == terminaleID);
if(segnaleRicevuto) //segnale ricevuto dal terminale che ha la prima fase: vuol dire "ho iniziato a lavorare il prodotto"
{
for(int i = primoStep.progressivo; i <= counter; i++)
{
//prendo la fase successiva
var nextStep = context.FaseLavori.Single(x => x.progressivo == i);
//in ogni step c'è un tempo che indica la durata della lavorazione
//ad esempio 100
//devo utilizzare questo tempo per mettere in "pausa" la query che verrà visualizzata sul terminale di chi ha lo stepSuccessivo
//nel senso che se il primo step dura 100, il bind dei dati
//sul terminale di chi ha il secondo step deve apparire dopo 100
//il secondo step avrà anche lui una durata, ad es. 200
//quindi se c'è un terzo (o N) dovranno visualizzare i dati a partire
//dalla durata (tempo1 + tempo2 + tempoN).
}
}
}
Grazie mille per qualsiasi suggerimento !!
|
per quello che ho capito devi pensare di mettere un listener sui terminali o un timer che interroghi periodicamente il db, come suggerito dall'utente sopra