public IEnumerable <IEntity3D> GetPreview() { // se flag di ricalcolo percorso è true , ricalcola // altrimenti restituisce percorso già calcolato try { var rslt = new List <IEntity3D>(); var workPreview = Operazione.Lavorazione.GetPreview(); if (workPreview != null) { rslt.AddRange(workPreview); } /* * se profilo è valido * stampo profilo * * se lavorazione è valid * stampo anche lavorazione */ if (IsValid.HasValue && IsValid.Value) { /* * piccolo hack . aggiorno le preferenze in questo putno.. todo gestire meglio.. */ var macchina = Operazione.Lavorazione.FaseDiLavoro.GetMacchina(); var path = Operazione.GetPathPreview(macchina); rslt.AddRange(path); } OnPropertyChanged("Label"); // riaggiorna etichetta con tempo.. return(rslt); } catch (Exception ex) { throw new Exception("OperazioneViewModel.GetPreview"); } }