private void OK_Click(object sender, RoutedEventArgs e) { bool check = true; if (changeMode == false) { Employee emp = new Employee(); if (empBoss.SelectedItem != null && subWorkerList.Items != null) { foreach (Employee item in subWorkerList.Items) { if (empBoss.SelectedItem == item) { MessageBox.Show("Ошибка! Начальник не может быть подчиненным."); check = false; subWorkerList.Items.Remove(item); empBoss.SelectedItem = null; empSubWorkers.SelectedItem = null; break; } } if (check == true) { emp.Add(this); empList.empManager.Add(emp); employeeList.Items.Clear(); foreach (Employee employee in empList.empManager) { employeeList.Items.Add(employee); } empSurname.Clear(); empName.Clear(); empMiddlename.Clear(); empPhotoPath.Clear(); empPosition.Clear(); employmentDay.SelectedItem = null; employmentMonth.SelectedItem = null; employmentYear.SelectedItem = null; isFired.IsChecked = false; dismissalDay.SelectedItem = null; dismissalMonth.SelectedItem = null; dismissalYear.SelectedItem = null; hasPrevPos.IsChecked = false; prevPosName.Clear(); prevPosTerm.Clear(); empDepartment.SelectedItem = null; empBoss.SelectedItem = null; subWorkerList.Items.Clear(); empSubWorkers.SelectedItem = null; } } else { emp.Add(this); empList.empManager.Add(emp); employeeList.Items.Clear(); foreach (Employee employee in empList.empManager) { employeeList.Items.Add(employee); } empSurname.Clear(); empName.Clear(); empMiddlename.Clear(); empPhotoPath.Clear(); empPosition.Clear(); employmentDay.SelectedItem = null; employmentMonth.SelectedItem = null; employmentYear.SelectedItem = null; isFired.IsChecked = false; dismissalDay.SelectedItem = null; dismissalMonth.SelectedItem = null; dismissalYear.SelectedItem = null; hasPrevPos.IsChecked = false; prevPosName.Clear(); prevPosTerm.Clear(); empDepartment.SelectedItem = null; empBoss.SelectedItem = null; subWorkerList.Items.Clear(); empSubWorkers.SelectedItem = null; } } else { Employee emp = new Employee(); if (empBoss.SelectedItem != null && subWorkerList.Items != null) { check = true; foreach (Employee item in subWorkerList.Items) { if (empBoss.SelectedItem == item) { MessageBox.Show("Ошибка! Начальник не может быть подчиненным."); check = false; subWorkerList.Items.Remove(item); empBoss.SelectedItem = null; empSubWorkers.SelectedItem = null; break; } } if (check == true) { emp.Add(this); empList.empManager.Remove((Employee)employeeList.SelectedItem); empList.empManager.Add(emp); employeeList.Items.Clear(); foreach (Employee employee in empList.empManager) { employeeList.Items.Add(employee); } changeMode = false; empSurname.Clear(); empName.Clear(); empMiddlename.Clear(); empPhotoPath.Clear(); empPosition.Clear(); employmentDay.SelectedItem = null; employmentMonth.SelectedItem = null; employmentYear.SelectedItem = null; isFired.IsChecked = false; dismissalDay.SelectedItem = null; dismissalMonth.SelectedItem = null; dismissalYear.SelectedItem = null; hasPrevPos.IsChecked = false; prevPosName.Clear(); prevPosTerm.Clear(); empDepartment.SelectedItem = null; empBoss.SelectedItem = null; subWorkerList.Items.Clear(); empSubWorkers.SelectedItem = null; } } else { emp.Add(this); empList.empManager.Remove((Employee)employeeList.SelectedItem); empList.empManager.Add(emp); employeeList.Items.Clear(); foreach (Employee employee in empList.empManager) { employeeList.Items.Add(employee); } changeMode = false; empSurname.Clear(); empName.Clear(); empMiddlename.Clear(); empPhotoPath.Clear(); empPosition.Clear(); employmentDay.SelectedItem = null; employmentMonth.SelectedItem = null; employmentYear.SelectedItem = null; isFired.IsChecked = false; dismissalDay.SelectedItem = null; dismissalMonth.SelectedItem = null; dismissalYear.SelectedItem = null; hasPrevPos.IsChecked = false; prevPosName.Clear(); prevPosTerm.Clear(); empDepartment.SelectedItem = null; empBoss.SelectedItem = null; subWorkerList.Items.Clear(); empSubWorkers.SelectedItem = null; } } }