public void stop() { // Preparo messaggio di cambio stato CambioStatoMsg msg = null; if (isRunning) { msg = new CambioStatoMsg(this) { nuovoStato = (int)SlideShowStatus.Stopped }; } if (_orologio != null) { _orologio.Stop(); } // Rilancio messaggio di cambio stato if (msg != null) { LumenApplication.Instance.bus.Publish(msg); } raiseCambioStatoProperties(); }
/// <summary> /// Fermo, svuoto ed azzero lo show /// </summary> public void reset() { // Preparo messaggio di cambio stato CambioStatoMsg msg = null; if (!isEmpty) { msg = new CambioStatoMsg(this) { nuovoStato = (int)SlideShowStatus.Empty }; } stop(); this.slideShow = null; rilasciaEdAzzeraVisibili(); this.numSlideCorrente = 0; // Rilancio messaggio di cambio stato if (msg != null) { LumenApplication.Instance.bus.Publish(msg); } raiseCambioStatoProperties(); }
public void OnNext(Messaggio msg) { if (msg is StampatoMsg) { StampatoMsg sm = (StampatoMsg)msg; if (sm.lavoroDiStampa.esitostampa == EsitoStampa.Errore) { App.Current.Dispatcher.BeginInvoke( new Action(() => { dialogProvider.ShowError(sm.lavoroDiStampa.ToString(), "Lavoro di stampa fallito", null); } )); } } if (msg is ScaricoFotoMsg) { ScaricoFotoMsg sm = (ScaricoFotoMsg)msg; if (sm.fase == FaseScaricoFoto.InizioScarico) { numFotoFaseVisibility = true; numFotoFase = String.Format("Scaricate = {0:000}", 0); } else if (sm.fase == FaseScaricoFoto.Scaricamento) { numFotoFaseVisibility = true; numFotoFase = String.Format("Scaricate = {0:000}", sm.esitoScarico.totFotoScaricateProg); } else if (sm.fase == Digiphoto.Lumen.Servizi.Scaricatore.FaseScaricoFoto.Provinatura) { numFotoFase = String.Format("Provinate = {0:000}/{1:000}", sm.esitoScarico.totFotoProvinateProg, sm.esitoScarico.totFotoScaricate); } else if (sm.fase == FaseScaricoFoto.FineLavora) { numFotoFaseVisibility = false; } } if (msg.showInStatusBar) { InformazioneUtente infoUser = new InformazioneUtente(msg.descrizione); infoUser.esito = msg.esito; App.Current.Dispatcher.BeginInvoke( new Action(() => { informazioniUtente.Write(infoUser); OnPropertyChanged("ultimaInformazioneUtente"); OnPropertyChanged("informazioniUtente"); } )); } if (msg is VolumeCambiatoMsg) { caricaElencoDischiRimovibili(); } if (msg is CambioStatoMsg) { if (msg.sender is SlideShowViewModel) { // Devo aggiornare lo stato della icona dello slide show CambioStatoMsg csm = (CambioStatoMsg)msg; SlideShowStatus nuovoStato = (SlideShowStatus)csm.nuovoStato; OnPropertyChanged("statusSlideShowImage"); } } if (msg is RilevataInconsistenzaDatabaseMsg) { bool ricostruire = false; bool possoAdesso = aprirePopupRicostruzioneDbCommand.CanExecute(null); string titolo = "Rilevata inconsistenza database"; string testo = "ATTENZIONE\nE' stata riscontrata una differenza\ntra le foto scaricate e quelle elaborate.\nE' necessario lanciare la ricostruzione database!"; App.Current.Dispatcher.BeginInvoke(new Action(() => { if (possoAdesso) { testo += "\nVuoi eseguirlo adesso ?"; dialogProvider.ShowConfirmation(testo, titolo, (sino) => { ricostruire = sino; }); if (ricostruire) { aprirePopupRicostruzioneDbCommand.Execute(null); } } else { dialogProvider.ShowMessage(testo, titolo); } })); } }