RegWindow.xaml.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. namespace Kusach
  5. {
  6. public partial class RegWindow : Window
  7. {
  8. public RegWindow()
  9. {
  10. InitializeComponent();
  11. }
  12. private void RegButton_Click(object sender, RoutedEventArgs e)
  13. {
  14. try
  15. {
  16. if (!Functions.IsValidLogAndPass(logbox.Text, passbox.Text))
  17. MessageBox.Show("Поля не могут быть пустыми.");
  18. if (!Functions.IsValidLogAndPassRegister(logbox.Text, passbox.Text))
  19. MessageBox.Show("Поля «Логин» и «Пароль» должны содержать не менее 5 символов. Поля «Логин» и «Пароль» не должны быть равны");
  20. else if (Functions.IsLoginAlreadyTaken(logbox.Text))
  21. MessageBox.Show("Данный логин уже занят");
  22. else if (!Functions.IsValidPhoneNumber(PhoneBox.Text))
  23. MessageBox.Show("Номер телефона введен неверно.");
  24. else if (Functions.IsPhoneNumberAlreadyTaken(PhoneBox.Text))
  25. MessageBox.Show("Данный номер телефона уже используется");
  26. else if (!Functions.IsValidEmail(EmailBox.Text))
  27. MessageBox.Show("Email введен неверно.");
  28. else if (Functions.IsEmailAlreadyTaken(EmailBox.Text))
  29. MessageBox.Show("Данный email уже используется.");
  30. else if (!Functions.IsValidDateOfBirthday(Convert.ToDateTime(BirthdayBox.Text)))
  31. MessageBox.Show("Дата рождения введена неверно.");
  32. else
  33. {
  34. Dispatcher newUser = new Dispatcher()
  35. {
  36. IdDispatcher = cnt.db.Dispatcher.Select(p => p.IdDispatcher).DefaultIfEmpty(0).Max() + 1,
  37. Login = logbox.Text,
  38. Password = Encrypt.GetHash(passbox.Text),
  39. Surname = FNameBox.Text,
  40. Name = LNameBox.Text,
  41. Patronymic = MNameBox.Text,
  42. Birthday = Convert.ToDateTime(BirthdayBox.Text),
  43. PhoneNumber = PhoneBox.Text,
  44. Email = EmailBox.Text,
  45. };
  46. if (cnt.db.Dispatcher.Count() == 0)
  47. newUser.Permission = 0;
  48. else
  49. newUser.Permission = 1;
  50. cnt.db.Dispatcher.Add(newUser);
  51. cnt.db.SaveChanges();
  52. MessageBox.Show("Вы успешно зарегистрировались");
  53. LogWindow lg = new LogWindow();
  54. lg.Show();
  55. this.Close();
  56. }
  57. }
  58. catch
  59. {
  60. MessageBox.Show($"Произошла ошибка.");
  61. }
  62. }
  63. private void BackButton_Click(object sender, RoutedEventArgs e)
  64. {
  65. LogWindow lw = new LogWindow();
  66. lw.Show();
  67. this.Close();
  68. }
  69. }
  70. }