using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace Детский_сад { /// /// Логика взаимодействия для AccountChangePersonal.xaml /// public partial class AccountChangePersonal : Window { Employees User; public AccountChangePersonal(Employees user) { InitializeComponent(); User = user; tboxSurname.Text = user.Surname; tboxName.Text = user.Names; tboxPatronymic.Text = user.Patronymic; dpBirthdate.SelectedDate = user.Birthdate; tboxStreet.Text = user.Street; tboxBuilding.Text = user.Building; tboxPhone.Text = user.Phone; dpBirthdate.DisplayDateStart = new DateTime(DateTime.Now.Year - 70, 1, 1); dpBirthdate.DisplayDateEnd = new DateTime(DateTime.Now.Year - 16, DateTime.Now.Month, DateTime.Now.Day); } private void btnSave_Click(object sender, RoutedEventArgs e) { if (checkData()) { User.Surname = tboxSurname.Text; User.Names = tboxName.Text; User.Patronymic = tboxPatronymic.Text; User.Birthdate = dpBirthdate.SelectedDate.Value; User.Street = tboxStreet.Text; User.Building = tboxBuilding.Text; User.Phone = tboxPhone.Text; try { Base.KE.SaveChanges(); Close(); MessageBox.Show("Данные успешно сохранены", "Персональные данные", MessageBoxButton.OK, MessageBoxImage.Information); } catch { MessageBox.Show("Возникла ошибка! Данные не были обновлены", "Персональные данные", MessageBoxButton.OK, MessageBoxImage.Information); } } } private bool checkData() { if (!Regex.IsMatch(tboxSurname.Text, @"^[А-Я][а-я]+$")) { MessageBox.Show("Фамилия должна начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } else if (!Regex.IsMatch(tboxName.Text, @"^[А-Я][а-я]+$")) { MessageBox.Show("Имя должно начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } else if (!Regex.IsMatch(tboxPatronymic.Text, @"^[А-Я][а-я]+$")) { MessageBox.Show("Отчество должно начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } else if (dpBirthdate.SelectedDate.Value == DateTime.Today) { MessageBox.Show("Выберите дату рождения", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } else if (!Regex.IsMatch(tboxStreet.Text, @"^[А-Я][а-я]+$")) { MessageBox.Show("Улица должна начинаться с заглавной буквы и содержать только русские буквы", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } else if (tboxBuilding.Text.Length == 0) { MessageBox.Show("Введите строение", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } else if (!Regex.IsMatch(tboxPhone.Text, @"^\+7 9\d{2} \d{3}-\d{2}-\d{2}$")) { MessageBox.Show("Номер телефона должен соответствовать следующей маске: \"+7 9XX XXX-XX-XX\", где X - любая цифра", "Изменение личных данных", MessageBoxButton.OK, MessageBoxImage.Information); return false; } return true; } } }