void AddNewImpl()
        {
            var person = Person.Parse(SearchText);
            var isMale = KnownNamesSearcher.CheckIfMale(person.FirstName);
            var editor = new KnownPersonEditorPage(new KnownPersonEditorViewModel(person.FirstName, person.LastName, isMale));

            MainWindow.Current.ShowModal(editor).ModalClosed = UpdateSearchResults;
        }
        void EditItem()
        {
            if (SelectedItem == null)
            {
                return;
            }

            var editor = new KnownPersonEditorPage(new KnownPersonEditorViewModel(_selectedItem));

            MainWindow.Current.ShowModal(editor).ModalClosed = UpdateSearchResults;
            SelectedItem = null;
        }
        void SolveCommitImpl()
        {
            var item = ReferencesSelectedItem;

            if (item == null)
            {
                return;
            }

            var isMale = KnownNamesSearcher.CheckIfMale(item.Person.FirstName);

            var editor =
                new KnownPersonEditorPage(new KnownPersonEditorViewModel(item.Person.FirstName, item.Person.LastName, isMale));

            MainWindow.Current.ShowModal(editor).ModalClosed = () =>
            {
                if (Essentials.SearchKnownPersonsByText(item.Person.FullName).Any())
                {
                    RemoveReference(item);
                }
            };
        }