private void DeleteAccount_PreviewMouseDown(object sender, MouseButtonEventArgs e) { MessageBoxResult res = MessageBox.Show("Вы действительно хотите удалить аккаунт?", "Подтверждение действия", MessageBoxButton.YesNo, MessageBoxImage.Question); if (res == MessageBoxResult.Yes) { db.users.Remove(user); db.SaveChanges(); MessageBox.Show("Ваш аккаунт был удалён.", "Удаление аккаунта", MessageBoxButton.OK, MessageBoxImage.Information); MainWindow mainWindow = new MainWindow(); mainWindow.Show(); this.Close(); } }
private void Continue_Click(object sender, RoutedEventArgs e) { if (BirthDateInput.SelectedDate > DateTime.Today) { MessageBox.Show("Дата рождения не может быть позже текущего дня", "Некорректная дата рождения", MessageBoxButton.OK, MessageBoxImage.Error); } else { string surname = SurnameInput.Text.Trim(); string name = NameInput.Text.Trim(); db.listeners.Attach(listener); if (!(surname == "")) { listener.listenerSurname = surname; db.Entry(listener).Property("listenerSurname").IsModified = true; } if (!(name == "")) { listener.listenerName = name; db.Entry(listener).Property("listenerName").IsModified = true; } if (!(BirthDateInput.SelectedDate is null)) { DateTime birthDate = (DateTime)BirthDateInput.SelectedDate; listener.listenerBirthDate = birthDate; db.Entry(listener).Property("listenerBirthDate").IsModified = true; } db.SaveChanges(); MainWindow mainWindow = new MainWindow(); mainWindow.Show(); this.Close(); } }
private void SaveChanges_Click(object sender, RoutedEventArgs e) { string oldPassword = OldPasswordInput.Password; string newPassword = PasswordInput.Password; string passwordRepeat = PasswordRepeatInput.Password; var hash = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(oldPassword)); string passwordHash = string.Concat(hash.Select(b => b.ToString("x2"))); if (passwordHash != user.userPasswordHash) { MessageBox.Show("Неверно введён старый пароль.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (newPassword.Length < 6) { MessageBox.Show("Новый пароль должен содержать не менее 6 символов. Пожалуйста, позаботьтесь о вашей безопасности и придумайте пароль подлиннее.", "Слишком короткий пароль", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (newPassword.Length > 128) { var result = MessageBox.Show("Ваш новый пароль длинее 128 символов. Его придется долго вводить и ещё дольше запоминать. Вы уверены, хотите продолжить?", "Очень длинный пароль", MessageBoxButton.YesNo, MessageBoxImage.Exclamation); if (result == MessageBoxResult.Yes) { } else { return; } } if (newPassword != passwordRepeat) { MessageBox.Show("Повторно введённый пароль не совпадает с новым паролем. Пожалуйста, убедитесь в том, что Вы ввели всё верно.", "Неверный повторно введённый пароль", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { var hashNew = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(newPassword)); string passwordHashNew = string.Concat(hashNew.Select(b => b.ToString("x2"))); user.userPasswordHash = passwordHashNew; db.Entry(user).Property("userPasswordHash").IsModified = true; db.SaveChanges(); MessageBox.Show("Пароль успешно обновлён!", "Смена пароля", MessageBoxButton.OK, MessageBoxImage.Information); ListenerProfile listenerProfile = new ListenerProfile(user); listenerProfile.Show(); this.Close(); } }
private void SignUp_Click(object sender, RoutedEventArgs e) { string login = LoginInput.Text.Trim(); string email = EmailInput.Text.Trim(); string password = PasswordInput.Password; string passwordRepeat = PasswordRepeatInput.Password; if (login == "" || email == "" || password == "" || passwordRepeat == "") { MessageBox.Show("Кажется, Вы заполнили не все поля. Пожалуйста, исправьте это.", "Не все поля заполнены", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (login.Length < 2) { MessageBox.Show("Логин должен содержать как минимум 2 символа. Пожалуйста, придумайте более длинный логин.", "Слишком короткий логин", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (!Regex.IsMatch(login, @"^[A-Za-z0-9-_.]+[A-Za-z0-9-_]+$")) { MessageBox.Show("Введённый логин не соответствует требованиям. В логине можно использовать только следующие символы: латинские буквы, цифры, символы тире (-), подчеркивания (_) и точки (.), при этом последний символ точкой быть не может. Никаких пробелов и прочих символов быть не должно.", "Неверный логин", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (LoginExists(login)) { MessageBox.Show("Пользователь с таким логином уже существует. Пожалуйста, придумайте другой логин.", "Такой логин уже существует", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (!Regex.IsMatch(email, @"^[A-Za-z0-9._]+@[A-Za-z0-9]+(\.[A-Za-z]{2,3})+$")) { MessageBox.Show("Введённый адрес электронной почты не похож на настоящий. Пожалуйста, убедитесь, что Вы корректно ввели почту.", "Неверный адрес почты", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (EmailExists(email)) { MessageBox.Show("Пользователь с таким адресом почты уже существует. Пожалуйста, введите другой адрес.", "Данная почта уже используется", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (password.Length < 6) { MessageBox.Show("Пароль должен содержать не менее 6 символов. Пожалуйста, позаботьтесь о вашей безопасности и придумайте пароль подлиннее.", "Слишком короткий пароль", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (password.Length > 128) { var result = MessageBox.Show("Вы ввели пароль длинее 128 символов. Его придется долго вводить и ещё дольше запоминать. Вы уверены, хотите продолжить?", "Очень длинный пароль", MessageBoxButton.YesNo, MessageBoxImage.Exclamation); if (result == MessageBoxResult.Yes) { } else { return; } } if (password != passwordRepeat) { MessageBox.Show("Повторно введённый пароль не совпадает с изначальным паролем. Пожалуйста, убедитесь в том, что Вы ввели всё верно.", "Неверный повторно введённый пароль", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { var hash = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(password)); string passwordHash = string.Concat(hash.Select(b => b.ToString("x2"))); try { users user = new users { userLogin = login, userPasswordHash = passwordHash, userAccessLevel = 1 }; db.users.Add(user); db.SaveChanges(); int userId; userId = user.userId; listeners listener = new listeners { listenerId = userId, listenerEmail = email }; db.listeners.Add(listener); db.SaveChanges(); SignupInfo signupInfo = new SignupInfo(listener); signupInfo.Show(); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.InnerException); } } }