601 lines
27 KiB
C#
601 lines
27 KiB
C#
using MahApps.Metro.Controls;
|
|
using MySql.Data.MySqlClient;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace ZKuP
|
|
{
|
|
/// <summary>
|
|
/// Interaktionslogik für CreateParkausweis.xaml
|
|
/// </summary>
|
|
public partial class CreateParkausweis : MetroWindow
|
|
{
|
|
List<string> plz = new List<string>();
|
|
public bool special { get; private set; }
|
|
|
|
List<string> Abteilungen = new List<string>()
|
|
{
|
|
"P.FBW-M",
|
|
"P.FBW-M 1",
|
|
"P.FBW-M 11",
|
|
"P.FBW-M 2",
|
|
"P.FBW-M 21",
|
|
"P.FBW-M 23",
|
|
"P.FBW-M 3",
|
|
"P.FBW-M 313",
|
|
"P.FBW-M 314",
|
|
"P.FBW-M 315",
|
|
"P.FBW-M 32",
|
|
"P.FBW-M 33",
|
|
"P.FBW-M 34",
|
|
"P.FBW-M 341",
|
|
"P.FBW-M 342",
|
|
"P.FBW-M 35",
|
|
"P.FBW-M 4",
|
|
"P.FBW-M 41",
|
|
"P.FBW-M 411",
|
|
"P.FBW-M 43",
|
|
"P.FBW-M 431",
|
|
"P.FBW-M 432",
|
|
"P.FBW-M 433",
|
|
"P.FBW-M 44",
|
|
"P.FBW-M 441",
|
|
"P.FBW-M 443",
|
|
"P.FBW-M 45",
|
|
"P.FBW-M 451",
|
|
"P.FBW-M 453",
|
|
"P.FBW-M 46",
|
|
"P.FBW-M 461",
|
|
"P.FBW-M 465",
|
|
"P.FBW-M 5",
|
|
"P.FBW-M 52",
|
|
"P.FBW-M 6",
|
|
"P.FBW-M 61",
|
|
"P.FBW-M 7",
|
|
"P.FBW-M 73",
|
|
"P.FBW-M 731",
|
|
"P.FBW-M 74",
|
|
"P.FBW-M 742"
|
|
};
|
|
|
|
public CreateParkausweis(bool Special = false)
|
|
{
|
|
InitializeComponent();
|
|
special = Special;
|
|
|
|
//if(special)
|
|
//{
|
|
// CommentRow.Height = new GridLength(2, GridUnitType.Star);
|
|
// MinWidth = 360;
|
|
// MinHeight = 850;
|
|
// Width = 360;
|
|
// Height = 850;
|
|
//}
|
|
//else
|
|
//{
|
|
// CommentRow.Height = new GridLength(0, GridUnitType.Star);
|
|
// MinWidth = 330;
|
|
// MinHeight = 707;
|
|
// Width = 330;
|
|
// Height = 707;
|
|
//}
|
|
|
|
rbDKennzeichen.Checked += rbDKennzeichen_Checked;
|
|
|
|
//var uri = new Uri("pack://application:,,,/Resources/PLZ_MUC.txt");
|
|
//var resourceStream = Application.GetResourceStream(uri);
|
|
|
|
//using (var reader = new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ZKuP.Resources.PLZ_MUC.txt")))
|
|
//{
|
|
// plz = reader.ReadToEnd().Replace("\r", "").Split('\n').ToList();
|
|
//}
|
|
}
|
|
|
|
private void Textboxes_Changed(object sender, TextChangedEventArgs e)
|
|
{
|
|
if (System.Text.RegularExpressions.Regex.IsMatch(tbAdresse.Text, @"^.+\s{1}\d+\s*\w*"))
|
|
{
|
|
tbAdresse.SetResourceReference(Control.ForegroundProperty, SystemColors.ControlTextBrushKey);
|
|
//tbAdresse.Foreground = new SolidColorBrush(Colors.Black);
|
|
}
|
|
|
|
if (System.Text.RegularExpressions.Regex.IsMatch(tbEmail.Text, @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"))
|
|
{
|
|
tbEmail.SetResourceReference(Control.ForegroundProperty, SystemColors.ControlTextBrushKey);
|
|
//tbEmail.Foreground = new SolidColorBrush(Colors.Black);
|
|
}
|
|
|
|
if (tbTelefon.Text.ToList<char>().Distinct().Count() > 4)
|
|
{
|
|
tbTelefon.SetResourceReference(Control.ForegroundProperty, SystemColors.ControlTextBrushKey);
|
|
//tbTelefon.Foreground = new SolidColorBrush(Colors.Black);
|
|
}
|
|
|
|
checkButton();
|
|
}
|
|
|
|
private void checkButton()
|
|
{
|
|
if (special)
|
|
btnCreate.IsEnabled = true;
|
|
else
|
|
{
|
|
if (
|
|
tbVorname.Text != "" &&
|
|
tbNachname.Text != "" &&
|
|
tbEmail.Text != "" &&
|
|
tbAbteilung.Text != "" &&
|
|
tbTelefon.Text != "" &&
|
|
tbAdresse.Text != "" &&
|
|
tbPLZ.Text != "" &&
|
|
tbVorgesetzter.Text != "" &&
|
|
cbFirma.SelectedIndex != -1 &&
|
|
cBCorrectness.IsChecked.Value == true &&
|
|
//cBSchicht.IsChecked.Value == true &&
|
|
(rbDKennzeichen.IsChecked.Value && (!string.IsNullOrWhiteSpace(tbDTownKennzeichen.Text)
|
|
&& !string.IsNullOrWhiteSpace(tbDCharsKennzeichen.Text)
|
|
&& !string.IsNullOrWhiteSpace(tbDDigitsKennzeichen.Text))
|
|
||
|
|
(rbOtherKennzeichen.IsChecked.Value &&
|
|
!string.IsNullOrWhiteSpace(tbOtherKennzeichen.Text)))
|
|
||
|
|
(rbVersKennzeichen.IsChecked.Value &&
|
|
!string.IsNullOrWhiteSpace(tbVersKennzeichen1.Text) &&
|
|
!string.IsNullOrWhiteSpace(tbVersKennzeichen2.Text))
|
|
)
|
|
btnCreate.IsEnabled = true;
|
|
else btnCreate.IsEnabled = false;
|
|
//tbTelefon != "";
|
|
}
|
|
}
|
|
|
|
private void tbPLZ_TextChanged(object sender, TextChangedEventArgs e)
|
|
{
|
|
if (tbPLZ.Text.Length == 5 && !special)
|
|
{
|
|
//foreach (var s in plz)
|
|
//{
|
|
// if (tbPLZ.Text == s)
|
|
// {
|
|
// MessageBox.Show(this, "Mitarbeiter im Stadtgebiet München sind nicht berechtigt Parkkarten zu beantragen!\n\nDie Angabe falscher Daten stellt einen fristlosen Kündigungsgrund dar!!", "Keine Berechtigung!", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
// tbPLZ.Text = "";
|
|
// btnCreate.IsEnabled = false;
|
|
// return;
|
|
// }
|
|
//}
|
|
|
|
checkButton();
|
|
}
|
|
else btnCreate.IsEnabled = false;
|
|
}
|
|
|
|
|
|
|
|
|
|
private async void btnCreate_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (tbTelefon.Text.ToList<char>().Distinct().Count() < 4)
|
|
{
|
|
MessageBox.Show("Telefonnummer muss qualifiziert ausgefüllt werden!", "Fehlerhafte Nummer", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(tbPLZ.Text, @"^\d{5}$"))
|
|
{
|
|
MessageBox.Show(this, "Postleitzahl muss exakt 5 Stellen haben und darf nur Zahlen enthalten", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if(rbDKennzeichen.IsChecked.Value &&
|
|
(string.IsNullOrWhiteSpace(tbDTownKennzeichen.Text) ||
|
|
(string.IsNullOrWhiteSpace(tbDCharsKennzeichen.Text) ||
|
|
string.IsNullOrWhiteSpace(tbDDigitsKennzeichen.Text))))
|
|
{
|
|
MessageBox.Show(this, "Kennzeichen muss vollständig ausgefüllt sein", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if(rbOtherKennzeichen.IsChecked.Value &&
|
|
string.IsNullOrWhiteSpace(tbOtherKennzeichen.Text))
|
|
{
|
|
MessageBox.Show(this, "Kennzeichen muss ausgefüllt sein", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if (rbVersKennzeichen.IsChecked.Value &&
|
|
string.IsNullOrWhiteSpace(tbVersKennzeichen1.Text) &&
|
|
string.IsNullOrWhiteSpace(tbVersKennzeichen2.Text))
|
|
{
|
|
MessageBox.Show(this, "Kennzeichen muss vollständig ausgefüllt sein", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(tbEmail.Text, @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"))
|
|
{
|
|
MessageBox.Show(this, "Email nicht vollständig oder falsches Format", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if(!System.Text.RegularExpressions.Regex.IsMatch(tbAdresse.Text, @"^.+\s{1}\d+\s*\w*"))
|
|
{
|
|
MessageBox.Show(this, "Adresse nicht vollständig oder falsches Format\n\nFormat: Straße Leerzeichen Hausnummer Zusatz(wenn vorhanden)", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
if (!(string.IsNullOrWhiteSpace(tbVorname.Text) &&
|
|
string.IsNullOrWhiteSpace(tbNachname.Text) &&
|
|
string.IsNullOrWhiteSpace(tbEmail.Text) &&
|
|
string.IsNullOrWhiteSpace(tbTelefon.Text) &&
|
|
string.IsNullOrWhiteSpace(tbAbteilung.Text) &&
|
|
string.IsNullOrWhiteSpace(tbAdresse.Text) &&
|
|
string.IsNullOrWhiteSpace(tbPLZ.Text) &&
|
|
string.IsNullOrWhiteSpace(tbVorgesetzter.Text) &&
|
|
//!cBSchicht.IsChecked.Value &&
|
|
!cBCorrectness.IsChecked.Value)
|
|
|| special)
|
|
{
|
|
|
|
int _schicht = 0, _correctness = 0;
|
|
string _bemerkung = "Erstellt durch ZKuP";
|
|
|
|
//if (cBSchicht.IsChecked.Value) _schicht = 1;
|
|
if (cBCorrectness.IsChecked.Value) _correctness = 1;
|
|
if (!string.IsNullOrWhiteSpace(tbBemerkung.Text)) _bemerkung = tbBemerkung.Text;
|
|
|
|
var isKrad = rbPKW.IsChecked.Value ? 0 : 1;
|
|
|
|
if (rbOtherKennzeichen.IsChecked.Value)
|
|
{
|
|
//await SQL.WriteSQL($"INSERT INTO {MainWindow.table}.`parkausweise` (MA_Vorname,MA_Name,Kennzeichen,Email,Telefon,Abteilung,Firma,Adresse,PLZ,Vorgesetzter,AcceptedCorrectness,Schicht,Bemerkung,isKrad) VALUES ('{tbVorname.Text}','{tbNachname.Text}','{tbOtherKennzeichen.Text}','{tbEmail.Text}','{tbTelefon.Text}','{tbAbteilung.Text}','{cbFirma.Text}','{tbAdresse.Text}','{tbPLZ.Text}','{tbVorgesetzter.Text}','{_correctness}','{_schicht}','{_bemerkung}',{isKrad})");
|
|
await SQL.CreateAndWriteSQL($"INSERT INTO {MainWindow.table}.`parkausweise` (MA_Vorname,MA_Name,Kennzeichen,Email,Telefon,Abteilung,Firma,Adresse,PLZ,Vorgesetzter,AcceptedCorrectness,Schicht,Bemerkung,isKrad) VALUES (@tbVorname,@tbNachname,@tbOtherKennzeichen,@tbEmail,@tbTelefon,@tbAbteilung,@cbFirma,@tbAdresse,@tbPLZ,@tbVorgesetzter,@_correctness,@_schicht,@_bemerkung,@isKrad)", new List<MySqlParameter>()
|
|
{
|
|
new MySqlParameter("@tbVorname", tbVorname.Text),
|
|
new MySqlParameter("@tbNachname", tbNachname.Text),
|
|
new MySqlParameter("@tbOtherKennzeichen", tbOtherKennzeichen.Text),
|
|
new MySqlParameter("@tbEmail", tbEmail.Text),
|
|
new MySqlParameter("@tbTelefon", tbTelefon.Text),
|
|
new MySqlParameter("@tbAbteilung", tbAbteilung.Text),
|
|
new MySqlParameter("@cbFirma", cbFirma.Text),
|
|
new MySqlParameter("@tbAdresse", tbAdresse.Text),
|
|
new MySqlParameter("@tbPLZ", tbPLZ.Text),
|
|
new MySqlParameter("@tbVorgesetzter", tbVorgesetzter.Text),
|
|
new MySqlParameter("@_correctness", _correctness),
|
|
new MySqlParameter("@_schicht", _schicht),
|
|
new MySqlParameter("@_bemerkung", _bemerkung),
|
|
new MySqlParameter("@isKrad", isKrad)
|
|
});
|
|
|
|
|
|
var id = SQL.ReadSingleValue($"SELECT idparkausweise FROM {MainWindow.table}.parkausweise ORDER BY idparkausweise DESC LIMIT 1");
|
|
var name = SQL.ReadSingleValue($"SELECT MA_Name FROM {MainWindow.table}.parkausweise WHERE idparkausweise={id}");
|
|
|
|
if (name == tbNachname.Text)
|
|
{
|
|
MessageBox.Show(this, $"Antrag erfolgreich abgeschickt\n\nIhre Karte hat die Nr. {id}", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(this, $"Antrag konnte nicht gesendet werden, bitte erneut versuchen\n\nSollte der Fehler weiterhin auftreten, bitte an Ihren Administrator wenden", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
}
|
|
else if (rbDKennzeichen.IsChecked.Value)
|
|
{
|
|
//await SQL.WriteSQL($"INSERT INTO {MainWindow.table}.parkausweise (MA_Vorname,MA_Name,Kennzeichen,Email,Telefon,Abteilung,Firma,Adresse,PLZ,Vorgesetzter,AcceptedCorrectness,Schicht,Bemerkung,isKrad) VALUES ('{tbVorname.Text}','{tbNachname.Text}','{tbDTownKennzeichen.Text}-{tbDCharsKennzeichen.Text} {tbDDigitsKennzeichen.Text}','{tbEmail.Text}','{tbTelefon.Text}','{tbAbteilung.Text}','{cbFirma.Text}','{tbAdresse.Text}','{tbPLZ.Text}','{tbVorgesetzter.Text}','{_correctness}','{_schicht}','{_bemerkung}',{isKrad})");
|
|
await SQL.CreateAndWriteSQL($"INSERT INTO {MainWindow.table}.parkausweise (MA_Vorname,MA_Name,Kennzeichen,Email,Telefon,Abteilung,Firma,Adresse,PLZ,Vorgesetzter,AcceptedCorrectness,Schicht,Bemerkung,isKrad) VALUES (@tbVorname,@tbNachname,@Kennzeichen,@tbEmail,@tbTelefon,@tbAbteilung,@cbFirma,@tbAdresse,@tbPLZ,@tbVorgesetzter,@_correctness,@_schicht,@_bemerkung,@isKrad)", new List<MySqlParameter>()
|
|
{
|
|
new MySqlParameter("@tbVorname", tbVorname.Text),
|
|
new MySqlParameter("@tbNachname", tbNachname.Text),
|
|
new MySqlParameter("@Kennzeichen", $"{tbDTownKennzeichen.Text}-{tbDCharsKennzeichen.Text} {tbDDigitsKennzeichen.Text}"),
|
|
new MySqlParameter("@tbEmail", tbEmail.Text),
|
|
new MySqlParameter("@tbTelefon", tbTelefon.Text),
|
|
new MySqlParameter("@tbAbteilung", tbAbteilung.Text),
|
|
new MySqlParameter("@cbFirma", cbFirma.Text),
|
|
new MySqlParameter("@tbAdresse", tbAdresse.Text),
|
|
new MySqlParameter("@tbPLZ", tbPLZ.Text),
|
|
new MySqlParameter("@tbVorgesetzter", tbVorgesetzter.Text),
|
|
new MySqlParameter("@_correctness", _correctness),
|
|
new MySqlParameter("@_schicht", _schicht),
|
|
new MySqlParameter("@_bemerkung", _bemerkung),
|
|
new MySqlParameter("@isKrad", isKrad)
|
|
});
|
|
|
|
var id = SQL.ReadSingleValue($"SELECT idparkausweise FROM {MainWindow.table}.parkausweise ORDER BY idparkausweise DESC LIMIT 1");
|
|
var name = SQL.ReadSingleValue($"SELECT MA_Name FROM {MainWindow.table}.parkausweise WHERE idparkausweise={id}");
|
|
|
|
if (name == tbNachname.Text)
|
|
{
|
|
MessageBox.Show(this, $"Antrag erfolgreich abgeschickt\n\nIhre Karte hat die Nr. {id}", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(this, $"Antrag konnte nicht gesendet werden, bitte erneut versuchen\n\nSollte der Fehler weiterhin auftreten, bitte an Ihren Administrator wenden", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
}
|
|
else if (rbVersKennzeichen.IsChecked.Value)
|
|
{
|
|
//await SQL.WriteSQL($"INSERT INTO {MainWindow.table}.parkausweise (MA_Vorname,MA_Name,Kennzeichen,Email,Telefon,Abteilung,Firma,Adresse,PLZ,Vorgesetzter,AcceptedCorrectness,Schicht,Bemerkung,isKrad) VALUES ('{tbVorname.Text}','{tbNachname.Text}','{tbVersKennzeichen1.Text} {tbVersKennzeichen2.Text}','{tbEmail.Text}','{tbTelefon.Text}','{tbAbteilung.Text}','{cbFirma.Text}','{tbAdresse.Text}','{tbPLZ.Text}','{tbVorgesetzter.Text}','{_correctness}','{_schicht}','{_bemerkung}',{isKrad})");
|
|
await SQL.CreateAndWriteSQL($"INSERT INTO {MainWindow.table}.parkausweise (MA_Vorname,MA_Name,Kennzeichen,Email,Telefon,Abteilung,Firma,Adresse,PLZ,Vorgesetzter,AcceptedCorrectness,Schicht,Bemerkung,isKrad) VALUES (@tbVorname,@tbNachname,@tbVersKennzeichen,@tbEmail,@tbTelefon,@tbAbteilung,@cbFirma,@tbAdresse,@tbPLZ,@tbVorgesetzter,@_correctness,@_schicht,@_bemerkung,@isKrad)", new List<MySqlParameter>()
|
|
{
|
|
new MySqlParameter("@tbVorname", tbVorname.Text),
|
|
new MySqlParameter("@tbNachname", tbNachname.Text),
|
|
new MySqlParameter("@tbVersKennzeichen", $"{tbVersKennzeichen1.Text} {tbVersKennzeichen2.Text}"),
|
|
new MySqlParameter("@tbEmail", tbEmail.Text),
|
|
new MySqlParameter("@tbTelefon", tbTelefon.Text),
|
|
new MySqlParameter("@tbAbteilung", tbAbteilung.Text),
|
|
new MySqlParameter("@cbFirma", cbFirma.Text),
|
|
new MySqlParameter("@tbAdresse", tbAdresse.Text),
|
|
new MySqlParameter("@tbPLZ", tbPLZ.Text),
|
|
new MySqlParameter("@tbVorgesetzter", tbVorgesetzter.Text),
|
|
new MySqlParameter("@_correctness", _correctness),
|
|
new MySqlParameter("@_schicht", _schicht),
|
|
new MySqlParameter("@_bemerkung", _bemerkung),
|
|
new MySqlParameter("@isKrad", isKrad)
|
|
});
|
|
|
|
|
|
var id = SQL.ReadSingleValue($"SELECT idparkausweise FROM {MainWindow.table}.parkausweise ORDER BY idparkausweise DESC LIMIT 1");
|
|
var name = SQL.ReadSingleValue($"SELECT MA_Name FROM {MainWindow.table}.parkausweise WHERE idparkausweise={id}");
|
|
|
|
if (name == tbNachname.Text)
|
|
{
|
|
MessageBox.Show(this, $"Antrag erfolgreich abgeschickt\n\nIhre Karte hat die Nr. {id}", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(this, $"Antrag konnte nicht gesendet werden, bitte erneut versuchen\n\nSollte der Fehler weiterhin auftreten, bitte an Ihren Administrator wenden", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
else MessageBox.Show(this, "Es müssen alle benötigten(*) Felder ausgefüllt werden", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void cBCorrectness_Unchecked(object sender, RoutedEventArgs e)
|
|
{
|
|
btnCreate.IsEnabled = false;
|
|
}
|
|
|
|
private void cBCorrectness_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
checkButton();
|
|
}
|
|
|
|
private void cBSchicht_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
checkButton();
|
|
}
|
|
|
|
private void cBSchicht_Unchecked(object sender, RoutedEventArgs e)
|
|
{
|
|
if(!special) btnCreate.IsEnabled = false;
|
|
}
|
|
|
|
private void tbPLZ_PreviewTextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
if ((sender as TextBox).Text.Length >= 5)
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[0-9]*$"))
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void tbPLZ_TextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
if ((sender as TextBox).Text.Length >= 5)
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[0-9]*$"))
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void TextBoxes_PreviewKeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.Key != Key.OemComma)
|
|
{
|
|
e.Handled = false;
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(this, "Komma (',') ist ein nicht erlaubtes Zeichen", "Achtung", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
e.Handled = true;
|
|
}
|
|
return;
|
|
}
|
|
|
|
private void tbPLZ_PreviewExecuted(object sender, ExecutedRoutedEventArgs e)
|
|
{
|
|
if (e.Command == ApplicationCommands.Paste)
|
|
{
|
|
e.Handled = true;
|
|
}
|
|
}
|
|
|
|
|
|
private void rbDKennzeichen_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
tbOtherKennzeichen.Visibility = Visibility.Collapsed;
|
|
spVersKennzeichen.Visibility = Visibility.Collapsed;
|
|
|
|
spDKennzeichen.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
private void rbOtherKennzeichen_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
if (MessageBox.Show(this, "Diese Funktion darf nicht für deutsche Kennzeichen genutzt werden\nDie Kennzeichen werden überprüft und bei deutschem Kennzeichen abgelehnt\n\nMöchten Sie sicher ein ausländisches Kennzeichen eingeben?", "Achtung!", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) == MessageBoxResult.Yes)
|
|
{
|
|
spDKennzeichen.Visibility = Visibility.Collapsed;
|
|
spVersKennzeichen.Visibility = Visibility.Collapsed;
|
|
|
|
tbOtherKennzeichen.Visibility = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
rbDKennzeichen.IsChecked = true;
|
|
}
|
|
}
|
|
|
|
private void rbVersKennzeichen_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
tbOtherKennzeichen.Visibility = Visibility.Collapsed;
|
|
spDKennzeichen.Visibility = Visibility.Collapsed;
|
|
|
|
spVersKennzeichen.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
|
|
private void tbDTownKennzeichen_PreviewTextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
if ((sender as TextBox).Text.Length >= 3)
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[A-ZÄÖÜ]?[A-ZÄÖÜ]?[A-ZÄÖÜ]?"))
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void tbDCharsKennzeichen_PreviewTextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
if ((sender as TextBox).Text.Length >= 2)
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[A-ZÄÖÜ]?[A-ZÄÖÜ]?"))
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void tbDDigitsKennzeichen_PreviewTextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
if ((sender as TextBox).Text.Length >= 5)
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[0-9]*$"))
|
|
{
|
|
e.Handled = true;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void tbAdresse_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
|
|
{
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(tbAdresse.Text, @"^.+\s{1}\d+\s*\w*"))
|
|
{
|
|
tbAdresse.Foreground = new SolidColorBrush(Colors.Red);
|
|
tbAdresse.ToolTip = "Adresse nicht vollständig oder falsches Format";
|
|
}
|
|
else
|
|
{
|
|
tbAdresse.SetResourceReference(Control.ForegroundProperty, SystemColors.ControlTextBrushKey);
|
|
//tbAdresse.Foreground = new SolidColorBrush(Colors.Black);
|
|
tbAdresse.ToolTip = "";
|
|
}
|
|
}
|
|
|
|
private void tbEmail_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
|
|
{
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(tbEmail.Text, @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"))
|
|
{
|
|
tbEmail.Foreground = new SolidColorBrush(Colors.Red);
|
|
tbEmail.ToolTip = "Email nicht vollständig oder falsches Format";
|
|
}
|
|
else
|
|
{
|
|
tbEmail.SetResourceReference(Control.ForegroundProperty, SystemColors.ControlTextBrushKey);
|
|
//tbEmail.Foreground = new SolidColorBrush(Colors.Black);
|
|
tbEmail.ToolTip = "";
|
|
}
|
|
|
|
}
|
|
|
|
private void tbTelefon_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
|
|
{
|
|
|
|
if (tbTelefon.Text.ToList<char>().Distinct().Count() < 4)
|
|
{
|
|
tbTelefon.Foreground = new SolidColorBrush(Colors.Red);
|
|
tbTelefon.ToolTip = "Telefonnummer muss qualifiziert ausgefüllt werden";
|
|
}
|
|
else
|
|
{
|
|
tbTelefon.SetResourceReference(Control.ForegroundProperty, SystemColors.ControlTextBrushKey);
|
|
//tbTelefon.Foreground = new SolidColorBrush(Colors.Black);
|
|
tbTelefon.ToolTip = "";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void tbBemerkung_PreviewGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
|
|
{
|
|
lblBemerkung.Visibility = Visibility.Collapsed;
|
|
}
|
|
|
|
private void tbBemerkung_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(tbBemerkung.Text)) lblBemerkung.Visibility = Visibility.Visible;
|
|
else lblBemerkung.Visibility = Visibility.Collapsed;
|
|
}
|
|
|
|
|
|
|
|
private void Window_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
Helper.CheckWindowIsInScreenSpace(this);
|
|
}
|
|
|
|
private void Window_LocationChanged(object sender, EventArgs e)
|
|
{
|
|
Helper.CheckWindowIsInScreenSpace(this);
|
|
}
|
|
}
|
|
}
|