public ContableAccountTreeNode AddAccount(ContableAccount account) { var node = new ContableAccountTreeNode(account); AccountNodesDictionary.Add(account.Id, node); TreeNode parentNode; if (!account.ParentAccountId.HasValue) { parentNode = RootNodesDictionary[account.AccountTreeId]; } else if (AccountNodesDictionary.ContainsKey(account.ParentAccountId.Value)) { parentNode = AccountNodesDictionary[node.ContableAccount.ParentAccountId.Value]; } else { parentNode = null; } if (parentNode != null) { parentNode.Nodes.Add(node); } return(node); }
private void treeView_ItemDrag(object sender, ItemDragEventArgs e) { //solo arastrar si es un ContableAccountTreeNode ContableAccountTreeNode contableAccountTreenode = e.Item as ContableAccountTreeNode; if (contableAccountTreenode != null) { treeView.DoDragDrop(contableAccountTreenode, DragDropEffects.Move); } }
public void MoveNode(ContableAccountTreeNode node, FacturanetTreeNode parent) { node.Remove(); var parentAsAccountTreeListItem = parent.Data as AccountTreeListItem; if (parentAsAccountTreeListItem != null) { node.ContableAccount.AccountTreeId = parentAsAccountTreeListItem.Id; node.ContableAccount.ParentAccountId = null; } else { var parentAsContableAccount = parent.Data as ContableAccount; node.ContableAccount.AccountTreeId = parentAsContableAccount.AccountTreeId; node.ContableAccount.ParentAccountId = parentAsContableAccount.Id; } parent.Nodes.Add(node); }