示例#1
0
        private async void treeAzureASM_AfterCheck(object sender, TreeViewEventArgs e)
        {
            if (_SourceAsmNode == null)
            {
                _SourceAsmNode = e.Node;
            }

            if (e.Node.Checked)
            {
                await SelectDependencies(e.Node);
            }

            TreeNode resultUpdateARMTree = null;

            Core.MigrationTarget migrationTarget = null;
            if (e.Node.Tag != null && e.Node.Tag.GetType().BaseType == typeof(Core.MigrationTarget))
            {
                migrationTarget = (Core.MigrationTarget)e.Node.Tag;

                if (e.Node.Checked)
                {
                    resultUpdateARMTree = e.Node;
                    AfterNodeChecked?.Invoke(migrationTarget);
                }
                else
                {
                    AfterNodeUnchecked?.Invoke(migrationTarget);
                }
            }

            if (_SourceAsmNode != null && _SourceAsmNode == e.Node)
            {
                if (e.Node.Checked)
                {
                    await RecursiveCheckToggleDown(e.Node, e.Node.Checked);

                    FillUpIfFullDown(e.Node);
                    treeAzureASM.SelectedNode = e.Node;
                }
                else
                {
                    await RecursiveCheckToggleUp(e.Node, e.Node.Checked);
                    await RecursiveCheckToggleDown(e.Node, e.Node.Checked);
                }

                _SelectedNodes = this.GetSelectedNodes(treeAzureASM);

                _SourceAsmNode = null;

                AfterNodeChanged?.Invoke(migrationTarget);
            }
        }
示例#2
0
 private async Task treeViewSourceResourceManager1_AfterNodeChecked(Core.MigrationTarget sender)
 {
     await AfterNodeChecked?.Invoke(sender);
 }