Загрузка данных


using System.Collections.Generic;
using System.Windows;

namespace InheritanceWPF1
{
    public partial class MainWindow : Window
    {
        // Список в памяти для хранения всех созданных сотрудников (доп. задание)
        List<Employee> employees = new List<Employee>();

        public MainWindow()
        {
            InitializeComponent();
        }

        private void CreateEmployeeButton_Click(object sender, RoutedEventArgs e)
        {
            string name = NameTextBox.Text;
            string salaryText = SalaryTextBox.Text;
            string additionalInfo = AdditionalInfoTextBox.Text;

            if (string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(additionalInfo))
            {
                MessageBox.Show("Заполните все поля!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if (!double.TryParse(salaryText, out double salary) || salary < 0)
            {
                MessageBox.Show("Введите корректную зарплату!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            Employee employee;

            // Выбор создаваемого класса по ComboBox (добавлен Руководитель)
            if (EmployeeTypeComboBox.SelectedIndex == 0)
            {
                employee = new Developer(name, salary, additionalInfo);
            }
            else if (EmployeeTypeComboBox.SelectedIndex == 1)
            {
                employee = new Tester(name, salary, additionalInfo);
            }
            else
            {
                employee = new Manager(name, salary, additionalInfo);
            }

            // Добавляем созданный объект в список и выводим его в ListBox
            employees.Add(employee);
            EmployeesListBox.Items.Add($"{employee.Name} — {employee.Salary} руб.");

            // Вывод текста в нижнее поле
            ResultTextBlock.Text = employee.ShowInfo() + "\n\n" + employee.Work();
        }

        // Кнопка очистки полей (как у тебя на фото)
        private void ClearButton_Click(object sender, RoutedEventArgs e)
        {
            NameTextBox.Clear();
            SalaryTextBox.Clear();
            AdditionalInfoTextBox.Clear();
            EmployeeTypeComboBox.SelectedIndex = 0;
            ResultTextBlock.Text = "";
        }

        // Кнопка удаления выбранного сотрудника (доп. задание)
        private void DeleteEmployeeButton_Click(object sender, RoutedEventArgs e)
        {
            int index = EmployeesListBox.SelectedIndex;

            // Если ничего не выбрано — свойство равно -1
            if (index == -1)
            {
                MessageBox.Show("Сначала выберите сотрудника в списке!", "Внимание", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            // Удаляем объект из памяти (List) и саму строку из интерфейса (ListBox)
            employees.RemoveAt(index);
            EmployeesListBox.Items.RemoveAt(index);
        }
    }
}