AccountChangePersonal.xaml.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15. namespace Детский_сад
  16. {
  17. /// <summary>
  18. /// Логика взаимодействия для AccountChangePersonal.xaml
  19. /// </summary>
  20. public partial class AccountChangePersonal : Window
  21. {
  22. Employees User;
  23. public AccountChangePersonal(Employees user)
  24. {
  25. InitializeComponent();
  26. User = user;
  27. tboxSurname.Text = user.Surname;
  28. tboxName.Text = user.Names;
  29. tboxPatronymic.Text = user.Patronymic;
  30. dpBirthdate.SelectedDate = user.Birthdate;
  31. tboxStreet.Text = user.Street;
  32. tboxBuilding.Text = user.Building;
  33. tboxPhone.Text = user.Phone;
  34. dpBirthdate.DisplayDateStart = new DateTime(DateTime.Now.Year - 70, 1, 1);
  35. dpBirthdate.DisplayDateEnd = new DateTime(DateTime.Now.Year - 16, DateTime.Now.Month, DateTime.Now.Day);
  36. }
  37. private void btnSave_Click(object sender, RoutedEventArgs e)
  38. {
  39. if (checkData())
  40. {
  41. User.Surname = tboxSurname.Text;
  42. User.Names = tboxName.Text;
  43. User.Patronymic = tboxPatronymic.Text;
  44. User.Birthdate = dpBirthdate.SelectedDate.Value;
  45. User.Street = tboxStreet.Text;
  46. User.Building = tboxBuilding.Text;
  47. User.Phone = tboxPhone.Text;
  48. try
  49. {
  50. Base.KE.SaveChanges();
  51. Close();
  52. MessageBox.Show("Данные успешно сохранены", "Персональные данные", MessageBoxButton.OK, MessageBoxImage.Information);
  53. }
  54. catch
  55. {
  56. MessageBox.Show("Возникла ошибка! Данные не были обновлены", "Персональные данные", MessageBoxButton.OK, MessageBoxImage.Information);
  57. }
  58. }
  59. }
  60. private bool checkData()
  61. {
  62. if (!Regex.IsMatch(tboxSurname.Text, @"^[А-Я][а-я]+$"))
  63. {
  64. MessageBox.Show("Фамилия должна начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  65. return false;
  66. }
  67. else if (!Regex.IsMatch(tboxName.Text, @"^[А-Я][а-я]+$"))
  68. {
  69. MessageBox.Show("Имя должно начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  70. return false;
  71. }
  72. else if (!Regex.IsMatch(tboxPatronymic.Text, @"^[А-Я][а-я]+$"))
  73. {
  74. MessageBox.Show("Отчество должно начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  75. return false;
  76. }
  77. else if (dpBirthdate.SelectedDate.Value == DateTime.Today)
  78. {
  79. MessageBox.Show("Выберите дату рождения", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  80. return false;
  81. }
  82. else if (!Regex.IsMatch(tboxStreet.Text, @"^[А-Я][а-я]+$"))
  83. {
  84. MessageBox.Show("Улица должна начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  85. return false;
  86. }
  87. else if (tboxBuilding.Text.Length == 0)
  88. {
  89. MessageBox.Show("Введите строение", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  90. return false;
  91. }
  92. else if (!Regex.IsMatch(tboxPhone.Text, @"^\+7 9\d{2} \d{3}-\d{2}-\d{2}$"))
  93. {
  94. MessageBox.Show("Номер телефона должен соответствовать следующей маске: \"+7 9XX XXX-XX-XX\", где X - любая цифра", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information);
  95. return false;
  96. }
  97. return true;
  98. }
  99. }
  100. }