1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using System.Linq;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Navigation;
- namespace MyTests.Pages
- {
- public partial class RegistrationPage : Page
- {
- public RegistrationPage()
- {
- InitializeComponent();
- }
- private void RegButton_Click(object sender, RoutedEventArgs e)
- {
- try
- {
- if (!Functions.IsValidEmail(EmailBox.Text)) // Проверка на правильность ввода электронной почты
- new ErrorWindow("Email введен неверно.").Show(); // Вывод ошибки
- else if (Functions.IsEmailAlreadyTaken(EmailBox.Text)) // Проверка на свободность электронной почты
- new ErrorWindow("Данный email уже используется.").Show();// Вывод ошибки
- else if (!Functions.IsValidLength(LogBox.Text.Trim())) // Проверка на минтимальную длину логина
- new ErrorWindow("Поле «Логин» должно содержать не менее 5 символов.").Show();// Вывод ошибки
- else if (!Functions.IsValidLength(PassBox.Password.Trim())) // Проверка на минтимальную длину пароля
- new ErrorWindow("Поле «Пароль» должно содержать не менее 5 символов.").Show();// Вывод ошибки
- else if (!Functions.IsLogEqualPass(LogBox.Text, PassBox.Password)) // Проверка на различие логина и пароля
- new ErrorWindow(" Поля «Логин» и «Пароль» не должны быть равны").Show();// Вывод ошибки
- else if (Functions.IsLoginAlreadyTaken(LogBox.Text)) // Проверка на свободность логина
- new ErrorWindow("Данный логин уже занят").Show();// Вывод ошибки
- else // Иначе, т.е если все проверки пройдены
- {
- string[] fio = new string[3]; // Создание массива из 3 элементов
- fio = FIOBox.Text.Split(' '); // Заполнение массива ФИО пользователя с разделением по пробелу . т.е Фамилия - [0], Имя - [1], Отчество - [2]
- Users newUser = new Users() // Создание пользователя
- {
- IdUser = cdb.db.Users.Select(p => p.IdUser).DefaultIfEmpty(0).Max() + 1, // id = максимальный id +1
- Login = LogBox.Text,
- Password = Functions.EncryptPassword(PassBox.Password), // Шифрование пароля
- Email = EmailBox.Text,
- Post = cdb.db.Users.Count() == 0 ? "Преподаватель" : "Пользователь", // Если пользователей 0, то первому выдаются права Преподавателя
- Surname = fio[0],
- Name = fio[1],
- Patronymic = fio[2]
- };
- cdb.db.Users.Add(newUser); // Добавление в базу данных
- cdb.db.SaveChanges(); // Сохранение
- new ErrorWindow("Успешная регистрация").ShowDialog(); // Вывод диалогового окна
- NavigationService.Navigate(new LoginPage()); // Переход на страницу входа
- }
- }
- catch
- {
- new ErrorWindow("Ошибка.").ShowDialog(); // Вывод ошибки
- }
- }
- private void BackButton_Click(object sender, RoutedEventArgs e)
- {
- NavigationService.Navigate(new LoginPage()); // Переход на страницу входа
- }
- }
- }
|