void MoveCopyButtonClick() { try { List <Variable> variables = GetSelectedVariables(); if (variables.Count > 0) { System.Collections.ArrayList variableDesigners = GetSelectedVariableDesigners(); #if DENALI || SQL2014 packageDesigner = (ComponentDesigner)variablesToolWindowControl.GetType().GetProperty("PackageDesigner", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance).GetValue(variablesToolWindowControl, null); #else packageDesigner = (ComponentDesigner)variablesToolWindowControl.GetType().InvokeMember("PackageDesigner", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance, null, variablesToolWindowControl, null); #endif Package package = packageDesigner.Component as Package; DtsContainer oCurrentScope = FindObjectForVariablePackagePath(package, variables[0].GetPackagePath()); BIDSHelper.SSIS.VariablesMove form = new BIDSHelper.SSIS.VariablesMove(package, oCurrentScope.ID, variables.Count); DialogResult result = form.ShowDialog(); if (result == DialogResult.OK) { DtsContainer targetContainer = form.TargetContainer; bool move = form.IsMove; try { CopyVariables(variables, move, targetContainer, package, variableDesigners); } finally { //refresh the grid after the changes we've made variablesToolWindowControl.GetType().InvokeMember("FillGrid", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance, null, variablesToolWindowControl, new object[] { }); SetButtonEnabled(); RefreshHighlights(); } } } else { MessageBox.Show("Highlight one or more variables before clicking this button.", "BIDS Helper - Variable Scope Change", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (VariableCopyException ex) { MessageBox.Show(ex.Message, "BIDS Helper", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n\r\n" + ex.StackTrace, "BIDS Helper", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
void MoveCopyButtonClick() { try { List<Variable> variables = GetSelectedVariables(); if (variables.Count > 0) { System.Collections.ArrayList variableDesigners = GetSelectedVariableDesigners(); #if DENALI packageDesigner = (ComponentDesigner)variablesToolWindowControl.GetType().GetProperty("PackageDesigner", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance).GetValue(variablesToolWindowControl, null); #else packageDesigner = (ComponentDesigner)variablesToolWindowControl.GetType().InvokeMember("PackageDesigner", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance, null, variablesToolWindowControl, null); #endif Package package = packageDesigner.Component as Package; DtsContainer oCurrentScope = FindObjectForVariablePackagePath(package, variables[0].GetPackagePath()); BIDSHelper.SSIS.VariablesMove form = new BIDSHelper.SSIS.VariablesMove(package, oCurrentScope.ID, variables.Count); DialogResult result = form.ShowDialog(); if (result == DialogResult.OK) { DtsContainer targetContainer = form.TargetContainer; bool move = form.IsMove; try { CopyVariables(variables, move, targetContainer, package, variableDesigners); } finally { //refresh the grid after the changes we've made variablesToolWindowControl.GetType().InvokeMember("FillGrid", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance, null, variablesToolWindowControl, new object[] { }); SetButtonEnabled(); RefreshHighlights(); } } } else { MessageBox.Show("Highlight one or more variables before clicking this button.", "BIDS Helper - Variable Scope Change", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (VariableCopyException ex) { MessageBox.Show(ex.Message, "BIDS Helper", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n\r\n" + ex.StackTrace, "BIDS Helper", MessageBoxButtons.OK, MessageBoxIcon.Error); } }