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