3 Schichten Model
3 Schichten Model umgesetzt
This commit is contained in:
133
bibtalk/bib-talk/UI/RegisterWindow.xaml.cs
Normal file
133
bibtalk/bib-talk/UI/RegisterWindow.xaml.cs
Normal file
@@ -0,0 +1,133 @@
|
||||
using bib_talk.Repository;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
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.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace bib_talk
|
||||
{
|
||||
public partial class RegisterWindow : Window
|
||||
{
|
||||
public RegisterWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri) { UseShellExecute = true });
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void CloseButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void DraggableArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (e.ButtonState == MouseButtonState.Pressed)
|
||||
{
|
||||
DragMove();
|
||||
}
|
||||
}
|
||||
|
||||
private void Login_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Login login = new Login();
|
||||
login.Show();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private async void WeiterButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (checkboxAGB.IsChecked == true)
|
||||
{
|
||||
if (ValidateRegistration())
|
||||
{
|
||||
RegisterDatabase registerDatabase = new RegisterDatabase(this);
|
||||
|
||||
await registerDatabase.RegisterServer();
|
||||
Login login = new Login();
|
||||
login.Show();
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Bitte akzeptieren Sie die AGB.");
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckBox_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF6332A0"));
|
||||
weiterbutton.Foreground = Brushes.White;
|
||||
weiterbutton.Background = customBrush;
|
||||
}
|
||||
|
||||
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF323134"));
|
||||
weiterbutton.Foreground = Brushes.Gray;
|
||||
weiterbutton.Background = customBrush;
|
||||
}
|
||||
|
||||
private bool ValidateRegistration()
|
||||
{
|
||||
string username = usernbox.Text;
|
||||
string password = passwordbox.Password;
|
||||
string email = emailbox.Text;
|
||||
string day = bday1.Text;
|
||||
string month = bday2.Text;
|
||||
string year = bday3.Text;
|
||||
|
||||
// Benutzername validieren
|
||||
if (string.IsNullOrWhiteSpace(username) || username.Length < 3)
|
||||
{
|
||||
MessageBox.Show("Der Benutzername muss mindestens 3 Zeichen lang sein.");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Passwort validieren
|
||||
if (string.IsNullOrWhiteSpace(password) || password.Length < 6 || !Regex.IsMatch(password, @"^(?=.*[A-Za-z])(?=.*\d).{6,}$"))
|
||||
{
|
||||
MessageBox.Show("Das Passwort muss mindestens 6 Zeichen lang sein und sowohl Buchstaben als auch Zahlen enthalten.");
|
||||
return false;
|
||||
}
|
||||
|
||||
// E-Mail validieren
|
||||
if (string.IsNullOrWhiteSpace(email) || !Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"))
|
||||
{
|
||||
MessageBox.Show("Bitte geben Sie eine gültige E-Mail-Adresse ein.");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Geburtsdatum validieren
|
||||
if (!int.TryParse(day, out int dayInt) || !int.TryParse(month, out int monthInt) || !int.TryParse(year, out int yearInt) ||
|
||||
!DateTime.TryParse($"{yearInt}-{monthInt}-{dayInt}", out DateTime birthDate) || birthDate > DateTime.Now.AddYears(-14))
|
||||
{
|
||||
MessageBox.Show("Bitte geben Sie ein gültiges Geburtsdatum ein. Sie müssen mindestens 18 Jahre alt sein.");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user