private void RemoveChildButton_Click(object sender, RoutedEventArgs e) { string child = string.Empty; string partner = string.Empty; if (Regex.Split(this.ChildCombobox.SelectedItem.ToString(), " & ").Length == 1) { child = this.ChildCombobox.SelectedItem.ToString(); } else if (Regex.Split(this.ChildCombobox.SelectedItem.ToString(), " & ").Length == 2) { child = Regex.Split(this.ChildCombobox.SelectedItem.ToString(), " & ")[0]; partner = Regex.Split(this.ChildCombobox.SelectedItem.ToString(), " & ")[1]; } Node <Person> childNode = PersonTree.GetNodeByName(PersonTree.Tree, child, partner); ChildRemovedEventArgs eventArgs = new ChildRemovedEventArgs() { person = childNode, name = child }; ChildRemoved?.Invoke(this, eventArgs); this.Close(); }
private void ChildRemoved(object sender, ChildRemovedEventArgs e) { RemoveChildren(e.person); generationManager.RemoveChild(e.person, e.name); for (int i = 1; i < generationManager.generationList.Count; i++) { ConnectChildrenToParents((object)generationManager.generationList[i], new GenerationChangedEventArgs()); } if (generationManager.GetGenerationByID(e.person.Value.GenerationID).GenerationGridList.Count == 0) { generationManager.generationList.Remove(generationManager.GetGenerationByID(e.person.Value.GenerationID)); treeGrid.RowDefinitions.Remove(treeGrid.RowDefinitions[treeGrid.RowDefinitions.Count - 1]); } if (e.person != PersonTree.Tree) { PersonTree.GetNodeByName(PersonTree.Tree, e.person.Parent.Value.Name, e.person.Parent.Value.Partner).Remove(e.person); } else { PersonTree.Tree = new Node <Person>(new Person(), null); PersonTree.Tree.Parent = null; } }
private void ChildRemoved(object sender, ChildRemovedEventArgs e) { ChildRemovedEvent?.Invoke(sender, e); }