/// <summary> /// Checks a RegistrationRequest /// </summary> /// <param name="request">RegistrationRequest to check</param> /// <returns>Indicates if it was successful</returns> private static bool CheckRegistrationRequest(RegistrationRequest request) { string email = request.Email; string nickname = request.Nickname; string password = request.PasswordHash; DateTime date = request.Birthday; if (string.IsNullOrWhiteSpace(email)) { return(false); } if (string.IsNullOrWhiteSpace(nickname)) { return(false); } if (string.IsNullOrWhiteSpace(password)) { return(false); } if (!email.Contains('@') || !email.Contains('.')) { return(false); } if (nickname.Length > 16 || nickname.Length < 4) { return(false); } if (password.Length != 64) { return(false); } if (DateConverter.GetAgeFromDate(date) < 12) { return(false); } return(true); }
private void Register_Click(object sender, EventArgs e) { WaitForFeedback = true; string address = txtServerAddress.TextWithoutWatermark; string email = txtEmail.TextWithoutWatermark; string nickname = txtNickname.TextWithoutWatermark; string birthday = txtBirthday.TextWithoutWatermark; string password = txtPassword.TextWithoutWatermark; string password2 = txtPassword2.TextWithoutWatermark; if (string.IsNullOrWhiteSpace(email)) { MessageBox.Show("Sie müssen eine Email eingeben."); WaitForFeedback = false; return; } if (string.IsNullOrWhiteSpace(nickname)) { MessageBox.Show("Sie müssen einen Benutzername eingeben."); WaitForFeedback = false; return; } if (string.IsNullOrWhiteSpace(birthday)) { MessageBox.Show("Sie müssen ein Geburtsdatum eingeben."); WaitForFeedback = false; return; } if (string.IsNullOrWhiteSpace(password)) { MessageBox.Show("Sie müssen ein Passwort eingeben."); WaitForFeedback = false; return; } if (string.IsNullOrWhiteSpace(password2)) { MessageBox.Show("Sie müssen das Passwort bestätigen."); WaitForFeedback = false; return; } if (password != password2) { MessageBox.Show("Die Passwörter stimmen nicht überein."); WaitForFeedback = false; return; } if (!DateTime.TryParse(birthday, out DateTime date)) { MessageBox.Show("Geben Sie ein gültiges Datum ein. \n Tipp: dd.mm.yyyy"); WaitForFeedback = false; return; } if (!email.Contains('@') || !email.Contains('.')) { MessageBox.Show("Geben Sie eine gültige Email ein."); WaitForFeedback = false; return; } if (nickname.Length > 16 || nickname.Length < 4) { MessageBox.Show("Der Benutzername muss mindestens 4 und maximal 16 Zeichen haben."); WaitForFeedback = false; return; } if (password.Length < 8) { MessageBox.Show("Das Passwort muss mindestens 8 Zeichen lang sein."); WaitForFeedback = false; return; } if (DateConverter.GetAgeFromDate(date) < 12) { MessageBox.Show("Sie müssen mindestens 12 Jahre alt sein!"); WaitForFeedback = false; return; } if (!IPAddress.TryParse(address, out IPAddress ipAddress)) { MessageBox.Show("Ungültige IP Addresse."); WaitForFeedback = false; return; } CConnectionController.ServerAddress = ipAddress.ToString(); string hash = Encode.GetHash(password); RegistrationRequest registration = new RegistrationRequest(email, nickname, hash, date); if (!CConnectionController.TrySendPackage(registration, CConnectionController.ServerAddress)) { WaitForFeedback = false; return; } timer.Enabled = true; }