private void btnEditSave_Click(object sender, RoutedEventArgs e) { if (((string)btnEditSave.Content) == "Edit") { setupEdit(); } else { if (_addUser == false) { if (!txtFirstName.Text.IsValidFirstName()) { MessageBox.Show("Invalid First Name."); txtFirstName.Focus(); txtFirstName.SelectAll(); return; } if (!txtLastName.Text.IsValidLastName()) { MessageBox.Show("Invalid Last Name."); txtLastName.Focus(); txtLastName.SelectAll(); return; } if (!txtEmail.Text.IsValidEmail()) { MessageBox.Show("Bad email address."); txtEmail.Focus(); txtEmail.SelectAll(); return; } if (!txtPhoneNumber.Text.IsValidPhoneNumber()) { MessageBox.Show("Invalid Phone Number."); txtPhoneNumber.Focus(); txtPhoneNumber.SelectAll(); return; } var newEmployee = new EmployeeViewModel() { Email = txtEmail.Text, FirstName = txtFirstName.Text, LastName = txtLastName.Text, PhoneNumber = txtPhoneNumber.Text, Active = (bool)chkActive.IsChecked }; List <string> roles = new List <string>(); foreach (var item in lstAssignedRoles.Items) { roles.Add((string)item); } newEmployee.Roles = roles; try { _employeeManager.EditEmployeeProfile(_employee, newEmployee, _originalUnassignedRoles, _unassignedRoles); this.DialogResult = true; } catch (Exception ex) { resetRoles(); if (ex.InnerException.Message.Contains("deactivated")) { chkActive.IsChecked = true; } MessageBox.Show(ex.Message + "\n\n" + ex.InnerException.Message); } } else { if (!txtFirstName.Text.IsValidFirstName()) { MessageBox.Show("Invalid First Name."); txtFirstName.Focus(); txtFirstName.SelectAll(); return; } if (!txtLastName.Text.IsValidLastName()) { MessageBox.Show("Invalid Last Name."); txtLastName.Focus(); txtLastName.SelectAll(); return; } if (!txtEmail.Text.IsValidEmail()) { MessageBox.Show("Bad email address."); txtEmail.Focus(); txtEmail.SelectAll(); return; } if (!txtPhoneNumber.Text.IsValidPhoneNumber()) { MessageBox.Show("Invalid Phone Number."); txtPhoneNumber.Focus(); txtPhoneNumber.SelectAll(); return; } var newEmployee = new EmployeeViewModel() { Email = txtEmail.Text, FirstName = txtFirstName.Text, LastName = txtLastName.Text, PhoneNumber = txtPhoneNumber.Text, Active = (bool)chkActive.IsChecked }; List <string> roles = new List <string>(); foreach (var item in lstAssignedRoles.Items) { roles.Add((string)item); } newEmployee.Roles = roles; try { _employeeManager.AddNewEmployee(newEmployee); this.DialogResult = true; } catch (Exception ex) { MessageBox.Show(ex.Message + "\n\n" + ex.InnerException.Message); } } } }