/* * DoDrop */ /// <summary> /// Invokes service specific nodes merge operation. /// </summary> /// <exception cref="T:System.ArgumentNullException"><paramref name="selectedNodes"/> is <see langword="null"/>.</exception> public override void DoDrop(TreeNode targetTreeNode, IList <TreeNode> selectedNodes, NuGenDropPosition dropPosition) { if (selectedNodes == null) { throw new ArgumentNullException("selectedNodes"); } if ( targetTreeNode == null || DragDropService.CheckSelectedContainTarget(targetTreeNode, selectedNodes) || !DragDropService.CheckParent(targetTreeNode, selectedNodes) ) { return; } switch (dropPosition) { case NuGenDropPosition.After: case NuGenDropPosition.Before: { DragDropService.MoveNodes(targetTreeNode, selectedNodes, dropPosition); break; } case NuGenDropPosition.Inside: { DragDropService.InsertNodes(targetTreeNode, selectedNodes); break; } } }