diff --git a/ZKuP/AddCardUser.xaml.cs b/ZKuP/AddCardUser.xaml.cs index cf54a05..d09ad66 100644 --- a/ZKuP/AddCardUser.xaml.cs +++ b/ZKuP/AddCardUser.xaml.cs @@ -106,20 +106,23 @@ namespace ZKuP bool up = false; private void BlinkTimer_Tick(object sender, EventArgs e) { - if (up) + Dispatcher.Invoke(() => { - if (borderKartenleser.Opacity < 1) - borderKartenleser.Opacity += 0.05; + if (up) + { + if (borderKartenleser.Opacity < 1) + borderKartenleser.Opacity += 0.05; + else + up = !up; + } else - up = !up; - } - else - { - if (borderKartenleser.Opacity > 0) - borderKartenleser.Opacity -= 0.05; - else - up = !up; - } + { + if (borderKartenleser.Opacity > 0) + borderKartenleser.Opacity -= 0.05; + else + up = !up; + } + }); } private void Helper_DataReceived(object sender, string e) @@ -138,93 +141,100 @@ namespace ZKuP { var farbe = SQL.ReadSingleValue($"SELECT Farbe FROM {MainWindow.table}.kartennummern WHERE Kartennummer='{text}'"); - Dispatcher.Invoke(() => + switch (farbe) { - switch (farbe) - { - case "1": - cbColor.SelectedValue = "Rot"; - break; - case "2": - cbColor.SelectedValue = "Grün"; - break; - } - }); + case "1": + cbColor.SelectedValue = "Rot"; + break; + case "2": + cbColor.SelectedValue = "Grün"; + break; + } } }); } + private void tbNummer_TextChanged(object sender, TextChangedEventArgs e) { - if (tbNummer.Text.Length <= 0) + Dispatcher.Invoke(() => { - borderKartenleser.Visibility = Visibility.Visible; - blinkTimer.Start(); - } - else - { - borderKartenleser.Visibility = Visibility.Collapsed; - blinkTimer.Stop(); - } + if (tbNummer.Text.Length <= 0) + { + borderKartenleser.Visibility = Visibility.Visible; + blinkTimer.Start(); + } + else + { + borderKartenleser.Visibility = Visibility.Collapsed; + blinkTimer.Stop(); + } + }); } + private async void btnAdd_Click(object sender, RoutedEventArgs e) { - bool cardExists = (await SQL.RowExists($"{MainWindow.table}.kartennummern", "Kartennummer", tbNummer.Text)); + Dispatcher.BeginInvoke(new Action(() => + { + bool cardExists = (SQL.RowExists($"{MainWindow.table}.kartennummern", "Kartennummer", tbNummer.Text).Result); - if (string.IsNullOrWhiteSpace(tbNummer.Text)) - MessageBox.Show(this, "Kartennummer angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - else if (!cardExists) - { - MessageBox.Show("Die eingegebene Kartennummer existiert nicht!\nBitte den Kartenleser verwenden oder die Nummer auf der Rückseite des Ausweises eingeben", "Fehlerhafte Kartennummer", MessageBoxButton.OK, MessageBoxImage.Error); - } - else if (cbColor.SelectedIndex == -1) - MessageBox.Show(this, "Kartenfarbe auswählen!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - else if (string.IsNullOrWhiteSpace(tbUser.Text)) - MessageBox.Show(this, "Person angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - else if (!_isBesucher && string.IsNullOrWhiteSpace(tbFirma.Text)) - MessageBox.Show(this, "Firma angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - else if (_needTel && string.IsNullOrWhiteSpace(tbTelnr.Text)) - MessageBox.Show(this, "Telefonnummer angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); - else - { - try + if (string.IsNullOrWhiteSpace(tbNummer.Text)) + MessageBox.Show(this, "Kartennummer angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + else if (!cardExists) { - var sig = new Signature(Signature.DisclaimerType.Rot, tbUser.Text, tbTelnr.Text); - - if (sig.ShowDialog() == false) + MessageBox.Show("Die eingegebene Kartennummer existiert nicht!\nBitte den Kartenleser verwenden oder die Nummer auf der Rückseite des Ausweises eingeben", "Fehlerhafte Kartennummer", MessageBoxButton.OK, MessageBoxImage.Error); + } + else if (cbColor.SelectedIndex == -1) + MessageBox.Show(this, "Kartenfarbe auswählen!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + else if (string.IsNullOrWhiteSpace(tbUser.Text)) + MessageBox.Show(this, "Person angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + else if (!_isBesucher && string.IsNullOrWhiteSpace(tbFirma.Text)) + MessageBox.Show(this, "Firma angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + else if (_needTel && string.IsNullOrWhiteSpace(tbTelnr.Text)) + MessageBox.Show(this, "Telefonnummer angeben!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + else + { + try { - _signature = sig.ResultByte; + var sig = new Signature(Signature.DisclaimerType.Rot, tbUser.Text, tbTelnr.Text); - if (_signature != null) + if (sig.ShowDialog() == false) { - await SQL.WriteSQL($"REPLACE INTO karten (kartennr,farbe,benutzer,telnr,AusgegebenDurch,AusgegebenTimestamp,Ansprechpartner,Signature) VALUES ('{tbNummer.Text}','{cbColor.SelectedValue.ToString()}','{tbUser.Text}','{tbTelnr.Text}','{Environment.UserName}','{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}','{_ap}',@signature)", _signature); + _signature = sig.ResultByte; - MessageBox.Show(this, "Karte erfolgreich verknüpft", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information); + if (_signature != null) + { + SQL.WriteSQL($"REPLACE INTO karten (kartennr,farbe,benutzer,telnr,AusgegebenDurch,AusgegebenTimestamp,Ansprechpartner,Signature) VALUES ('{tbNummer.Text}','{cbColor.SelectedValue.ToString()}','{tbUser.Text}','{tbTelnr.Text}','{Environment.UserName}','{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}','{_ap}',@signature)", _signature); - ResetValues(); - this.Close(); + MessageBox.Show(this, "Karte erfolgreich verknüpft", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information); + + ResetValues(); + this.Close(); + } + else MessageBox.Show("Unterschrift nicht gefunden\nVorgang bitte wiederholen"); } - else MessageBox.Show("Unterschrift nicht gefunden\nVorgang bitte wiederholen"); - } + } + catch (MySql.Data.MySqlClient.MySqlException ex) + { + if (MessageBox.Show(this, "Beim verknüpfen der Karte ist ein Fehler aufgetreten\n\nMöchten Sie die interne Fehlermeldung anzeigen?", "Fehler", MessageBoxButton.YesNo, MessageBoxImage.Error, MessageBoxResult.No) == MessageBoxResult.Yes) + MessageBox.Show(this, $"Fehlermeldung:\n\n{ex.Message}", "Fehlermeldung", MessageBoxButton.OK, MessageBoxImage.Information); + } } - catch (MySql.Data.MySqlClient.MySqlException ex) - { - if (MessageBox.Show(this, "Beim verknüpfen der Karte ist ein Fehler aufgetreten\n\nMöchten Sie die interne Fehlermeldung anzeigen?", "Fehler", MessageBoxButton.YesNo, MessageBoxImage.Error, MessageBoxResult.No) == MessageBoxResult.Yes) - MessageBox.Show(this, $"Fehlermeldung:\n\n{ex.Message}", "Fehlermeldung", MessageBoxButton.OK, MessageBoxImage.Information); - } - } + })); } + private void ResetValues() { - - tbNummer.Text = ""; - tbTelnr.Text = ""; - + Dispatcher.Invoke(() => + { + tbNummer.Text = ""; + tbTelnr.Text = ""; + }); } diff --git a/ZKuP/MainWindow.xaml.cs b/ZKuP/MainWindow.xaml.cs index e125909..c86aecd 100644 --- a/ZKuP/MainWindow.xaml.cs +++ b/ZKuP/MainWindow.xaml.cs @@ -238,6 +238,8 @@ namespace ZKuP File.Copy(@"\\mhb00swfs003v.fv-werke.db.de\GLW99\ZKuP\ZKuPUpdater.exe", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\ZKuPUpdater.exe", true); System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\ZKuPUpdater.exe", $"\"{file}\""); + Helper.serial.Close(); + Helper.serial.Dispose(); Application.Current.Shutdown(); return; }