using EmployeeManagmentBusinessLogic.BusinessLogic; using EmployeeManagmentContracts.BusinessLogicContracts; using EmployeeManagmentContracts.ViewModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; 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 EmployeeManagmentView.PhysicalPerson { /// /// Логика взаимодействия для AddPhysicalPersonWindow.xaml /// public partial class AddPhysicalPersonWindow : Window { private readonly IPhisicalPersonLogic _phisicalPersonLogic; public AddPhysicalPersonWindow(IPhisicalPersonLogic phisicalPersonLogic) { _phisicalPersonLogic = phisicalPersonLogic; InitializeComponent(); } private void SaveButton_Click(object sender, RoutedEventArgs e) { try { // Создаем модель и заполняем её значениями из элементов интерфейса var model = new PhisicalPersonViewModel { Name = NameTextBox.Text, Surname = SurnameTextBox.Text, Patronymic = PatronomicTextBox.Text, Birthday = BirthdayPicker.SelectedDate.Value.ToUniversalTime(), // Проверка на null не нужна, так как поле обязательное Gender = GenderTextBox.Text, Address = AddressTextBox.Text, Telephone = TelephoneTextBox.Text }; // Вызываем метод Insert из бизнес-логики для добавления данных в базу _phisicalPersonLogic.Insert(model); // Показываем сообщение об успешном добавлении MessageBox.Show("Данные успешно сохранены!"); // Закрываем окно this.Close(); } catch (Exception ex) { // В случае ошибки показываем сообщение об ошибке MessageBox.Show($"Ошибка: {ex.Message}"); } } } }