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);
}
}
}