private void button_End_Click(object sender, RoutedEventArgs e) { string error = string.Empty; if (BirthdayDatePicker.SelectedDate == null) { error += "Please, select your birth date.\n"; } if (PasswordExpirationDatePicker.SelectedDate == null) { error += "Please, select your password expiration date."; } if (string.IsNullOrEmpty(error)) { var validationResult = ClientValidation.Validate( LastNameTextBox.Text, NameTextBox.Text, //PatronymicTextBox.Text, BirthdayDatePicker.SelectedDate.Value, MobilePhoneNumberTextBox.Text, EmailTextBox.Text, PassportNoTextBox.Text, PasswordExpirationDatePicker.SelectedDate.Value, PassportIdentityNoTextBox.Text, PassportAuthorityTextBox.Text, PlaceOfResidenceTextBox.Text, RegistrationAddressTextBox.Text); if (validationResult.IsValid) { if (_clientToUpdate != null) { if (_clientToUpdate != null && _clientToUpdate.PassportNo != PassportNoTextBox.Text && _clientBusinessComponent.Exists(PassportNoTextBox.Text)) { // if client wants to chage passport to existing one MessageBox.Show("A user with such passport number has already been registered!"); return; } _clientToUpdate.Name = textBox_Create_Login.Text; _clientToUpdate.LastName = LastNameTextBox.Text; _clientToUpdate.Name = NameTextBox.Text; //_clientToUpdate.Patronymic = PatronymicTextBox.Text; _clientToUpdate.Birthday = BirthdayDatePicker.SelectedDate.Value; _clientToUpdate.Mobile = MobilePhoneNumberTextBox.Text; _clientToUpdate.Email = EmailTextBox.Text; _clientToUpdate.PassportNo = PassportNoTextBox.Text; _clientToUpdate.PassportExpirationDate = PasswordExpirationDatePicker.SelectedDate.Value; _clientToUpdate.PassportIdentificationNo = PassportIdentityNoTextBox.Text; _clientToUpdate.PassportAuthority = PassportAuthorityTextBox.Text; _clientToUpdate.PlaceOfResidence = PlaceOfResidenceTextBox.Text; _clientToUpdate.RegistrationAddress = RegistrationAddressTextBox.Text; _clientBusinessComponent.Update(_clientToUpdate); MessageBox.Show("Updated successfully!"); this.Close(); } else { UserRole selectedRole; switch ((string)roleComboBox.SelectedValue) { case "Client": selectedRole = UserRole.Client; break; case "Admin": selectedRole = UserRole.Admin; break; case "Operator": selectedRole = UserRole.Operator; break; case "Security Service Employee": selectedRole = UserRole.SecurityServiceEmployee; break; default: selectedRole = UserRole.Client; break; } if (selectedRole == UserRole.Client && _clientBusinessComponent.Exists(PassportNoTextBox.Text)) { MessageBox.Show("A user with such passport number has already been registered!"); return; } _clientBusinessComponent.Add( textBox_Create_Login.Text, passwordBox_Create_Password.Password, selectedRole, LastNameTextBox.Text, NameTextBox.Text, //PatronymicTextBox.Text, BirthdayDatePicker.SelectedDate.Value, MobilePhoneNumberTextBox.Text, EmailTextBox.Text, PassportNoTextBox.Text, PasswordExpirationDatePicker.SelectedDate.Value, PassportIdentityNoTextBox.Text, PassportAuthorityTextBox.Text, PlaceOfResidenceTextBox.Text, RegistrationAddressTextBox.Text); MessageBox.Show("Registered successfully!"); //go back ClientInfoTabItem.IsEnabled = false; ClientInfoTabItem.Visibility = Visibility.Hidden; tabControl.SelectedIndex = 0; UserInfoTabItem.Visibility = Visibility.Visible; UserInfoTabItem.IsEnabled = true; if (_role == UserRole.Client) { this.Close(); // return to login page } } } else { MessageBox.Show(validationResult.Error); } } else { MessageBox.Show(error); } }