private void OnImprontaAcquisita(object sender, ScansioneEvent eventArgs) { esitoIdentificazione = "SCAN"; if (eventArgs.isValid) { if (File.Exists(nomeFileBmpImpronta)) { File.Delete(nomeFileBmpImpronta); } File.Move(eventArgs.bmpFileName, nomeFileBmpImpronta); strBase64Template = eventArgs.strBase64Template; } else { nomeFileBmpImpronta = null; strBase64Template = null; } // Forzo il refersh del pulsante ma nella UI perché qui sono in un thread di callback e non avrebbe effetto App.Current.Dispatcher.BeginInvoke(new Action(() => { OnPropertyChanged("possoIdentificare"); OnPropertyChanged("nomeFileBmpImpronta"); _identificareCommand.RaiseCanExecuteChanged(); })); }
void OnImprontaAcquisita(object sender, ScansioneEvent eventArgs) { if (eventArgs.isValid) { ++totImpronteAcquisite; _giornale.Info("Impronta acquisita. Valida = " + eventArgs.isValid + eventArgs.bmpFileName); // Per svincolare il thread chiamante, mi creo una lista mia di sconosciuti da identificare. // Lo faccio perché ora devo chiamare un altro servizio in rete che potrebbe perdere tempo, // e quindi voglio ridare il controllo subito per evitare piantamenti Sconosciuto sconosciuto = new Sconosciuto { tempo = eventArgs.tempo, base64Template = eventArgs.strBase64Template, nome = null }; Application.Current.Dispatcher.BeginInvoke( new Action(() => { personeSconosciute.Add(sconosciuto); })); // fileNameBmpImpronta = eventArgs.bmpFileName; } }
void OnImmagineAcquisita(object sender, ScansioneEvent eventArgs) { ++contaAcquisite; Console.WriteLine("acquisito " + contaAcquisite + " img = " + eventArgs.bmpFileName); }