private void clbInputColumns_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (initializing)
            {
                return;
            }
            FormInputColumn fic = clbInputColumns.Items[e.Index] as FormInputColumn;

            if (fic != null && e.CurrentValue != e.NewValue)
            {
                if (e.NewValue == CheckState.Checked)
                {
                    if (!lbSelectedItems.Items.Contains(fic))
                    {
                        lbSelectedItems.Items.Add(fic);
                    }
                }
                else
                {
                    if (lbSelectedItems.Items.Contains(fic))
                    {
                        lbSelectedItems.Items.Remove(fic);
                    }
                }
            }
        }
Esempio n. 2
0
        public void SelectLookupInputColumn(System.Windows.Forms.CheckedListBox clbInputColumns, System.Windows.Forms.ListBox lbSelectedItems, int checkedIndex, System.Windows.Forms.CheckState state, int nullColumnLineageId)
        {
            FormInputColumn icol = clbInputColumns.Items[checkedIndex] as FormInputColumn;

            IDTSInput input = ComponentMetadata.InputCollection[0];

            if (icol != null)
            {
                if (state == CheckState.Checked)
                {
                    DesignTimeComponent.SetUsageType(input.ID, VirtualInput, icol.LineageID, DTSUsageType.UT_READONLY);

                    IDTSInputColumn inputCol = input.InputColumnCollection.GetInputColumnByLineageID(icol.LineageID);

                    IDTSCustomProperty keyCol = inputCol.CustomPropertyCollection[Resources.LookupErrorAggIsKeyColumnName];
                    keyCol.Value = true;

                    icol.DTSInputColumn = inputCol;


                    if (lbSelectedItems != null && !lbSelectedItems.Items.Contains(icol))
                    {
                        int sortOrder = 0;
                        if (lbSelectedItems.Items.Count > 0)
                        {
                            FormInputColumn lastCol = lbSelectedItems.Items[lbSelectedItems.Items.Count - 1] as FormInputColumn;
                            sortOrder = lastCol.SortOrder;
                        }
                        icol.SortOrder = sortOrder + 1;

                        lbSelectedItems.Items.Add(icol);
                    }
                }
                else
                {
                    bool isInput = false;
                    if (icol.DTSInputColumn != null)
                    {
                        IDTSCustomProperty prop = icol.DTSInputColumn.CustomPropertyCollection[Resources.LookupErrorAggIsNullColumnName];
                        isInput = (bool)prop.Value;
                        IDTSCustomProperty keyCol = icol.DTSInputColumn.CustomPropertyCollection[Resources.LookupErrorAggIsKeyColumnName];
                        keyCol.Value = false;
                    }

                    if (!isInput)
                    {
                        DesignTimeComponent.SetUsageType(input.ID, VirtualInput, icol.LineageID, DTSUsageType.UT_IGNORED);
                        icol.DTSInputColumn = null;
                    }

                    if (lbSelectedItems != null && lbSelectedItems.Items.Contains(icol))
                    {
                        lbSelectedItems.Items.Remove(icol);
                    }
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Gets InputColumns of Input at selected inde of InputCollection encapsulated in the FormInputColumn class
        /// </summary>
        /// <param name="index">Index of the Input to get InputColumns</param>
        /// <returns>List of FormInputColumn</returns>
        public virtual List <FormInputColumn> GetFormInputColumns(int index)
        {
            List <FormInputColumn> inputCols = new List <FormInputColumn>();

            IDTSInput        input  = GetInput(index);
            IDTSVirtualInput vInput = GetVirtualInput(index);


            if (input != null && VirtualInput != null)
            {
                for (int i = 0; i < VirtualInput.VirtualInputColumnCollection.Count; i++)
                //foreach (IDTSVirtualInputColumn vcol in VirtualInput.VirtualInputColumnCollection)
                {
                    IDTSVirtualInputColumn vcol = VirtualInput.VirtualInputColumnCollection[i];

                    FormInputColumn icol = new FormInputColumn(vcol, i);

                    if (vcol.UsageType != DTSUsageType.UT_IGNORED)
                    {
                        IDTSInputColumn inputCol = input.InputColumnCollection.GetInputColumnByLineageID(vcol.LineageID);
                        icol.DTSInputColumn = inputCol;
                    }

                    bool isValidForInput = CheckColumnForInputValidity(vInput, input, icol);

                    if (isValidForInput)
                    {
                        inputCols.Add(icol);
                    }
                }

                inputCols.Sort((a, b) => a.Name.CompareTo(b.Name));


                for (int i = 0; i < inputCols.Count; i++)
                {
                    if (i >= 0 && i < inputCols.Count - 1 && inputCols[i].Name == inputCols[i + 1].Name)
                    {
                        inputCols[i].DisplayName = string.Format("{0}.{1}", inputCols[i].SourceComponent, inputCols[i].Name);
                    }
                    else if (i > 0 && i < inputCols.Count && inputCols[i].Name == inputCols[i - 1].Name)
                    {
                        inputCols[i].DisplayName = string.Format("{0}.{1}", inputCols[i].SourceComponent, inputCols[i].Name);
                    }
                }

                inputCols.Sort((a, b) => a.Index.CompareTo(b.Index));
            }

            return(inputCols);
        }
        public List <int> GetInputColumnsLineages()
        {
            List <int> colLineages = new List <int>(lbSelectedItems.Items.Count);

            foreach (var item in lbSelectedItems.Items)
            {
                FormInputColumn fic = item as FormInputColumn;
                if (fic != null)
                {
                    colLineages.Add(fic.LineageID);
                }
            }

            return(colLineages);
        }
        private void removeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormInputColumn icol = lbSelectedItems.SelectedItem as FormInputColumn;

            if (icol != null)
            {
                for (int i = 0; i < clbInputColumns.Items.Count; i++)
                {
                    FormInputColumn fic = clbInputColumns.Items[i] as FormInputColumn;
                    if (fic != null && fic.LineageID == icol.LineageID)
                    {
                        clbInputColumns.SetItemChecked(i, false);
                        break;
                    }
                }
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Selects an InputColumn (to become available in the input buffer)
        /// </summary>
        /// <param name="clbInputColumns">CheckedListbox with InputColumns</param>
        /// <param name="lbSelectedItems">ListBox with Selected InputColumns</param>
        /// <param name="checkedIndex">Index of the Item being checked</param>
        /// <param name="state">CheckState of the item being checkd</param>
        public virtual void SelectInputColumn(CheckedListBox clbInputColumns, ListBox lbSelectedItems, int checkedIndex, CheckState state)
        {
            FormInputColumn icol = clbInputColumns.Items[checkedIndex] as FormInputColumn;

            IDTSInput input = ComponentMetadata.InputCollection[0];

            if (icol != null)
            {
                if (state == CheckState.Checked)
                {
                    DesignTimeComponent.SetUsageType(input.ID, VirtualInput, icol.LineageID, DTSUsageType.UT_READONLY);

                    IDTSInputColumn inputCol = input.InputColumnCollection.GetInputColumnByLineageID(icol.LineageID);

                    icol.DTSInputColumn = inputCol;


                    if (lbSelectedItems != null && !lbSelectedItems.Items.Contains(icol))
                    {
                        int sortOrder = 0;
                        if (lbSelectedItems.Items.Count > 0)
                        {
                            FormInputColumn lastCol = lbSelectedItems.Items[lbSelectedItems.Items.Count - 1] as FormInputColumn;
                            sortOrder = lastCol.SortOrder;
                        }
                        icol.SortOrder = sortOrder + 1;

                        lbSelectedItems.Items.Add(icol);
                    }
                }
                else
                {
                    DesignTimeComponent.SetUsageType(input.ID, VirtualInput, icol.LineageID, DTSUsageType.UT_IGNORED);
                    icol.DTSInputColumn = null;

                    if (lbSelectedItems != null && lbSelectedItems.Items.Contains(icol))
                    {
                        lbSelectedItems.Items.Remove(icol);
                    }
                }
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Set the caption for dsiplaying the column names in the Property Grid editor
        /// </summary>
        private void ValidateLineages()
        {
            caption = "<< No Columns Selected >>";

            captions = new List <string>(inputLineages.Count);
            if (inputLineages.Count > 0)
            {
                List <int> lineagesToRemove = new List <int>(inputLineages.Count);

                if (InputColumnsUIEditor.UIHelper != null)
                {
                    var inputCols = InputColumnsUIEditor.UIHelper.GetFormInputColumns();
                    foreach (int lineage in inputLineages)
                    {
                        FormInputColumn fic = inputCols.Find(ic => ic.LineageID == lineage);
                        if (fic != null)
                        {
                            captions.Add(fic.DisplayName);
                        }
                        else
                        {
                            lineagesToRemove.Add(lineage);
                        }
                    }
                }
                else
                {
                    captions.AddRange(inputLineages.ConvertAll <string>(il => il.ToString(CultureInfo.InvariantCulture)));
                }

                if (lineagesToRemove.Count > 0)
                {
                    lineagesToRemove.ForEach(l => inputLineages.Remove(l));
                }


                if (captions.Count > 0)
                {
                    caption = string.Join(" | ", captions.ToArray());
                }
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Moves the selected item in the selected item ListBox
        /// </summary>
        /// <param name="lbSelectedItems">Moves selected InputColumn in provide ListBox by one position Up or Down</param>
        /// <param name="moveUp">If true, movement is Up otherwise Down</param>
        public virtual void MoveSelectedItem(ListBox lbSelectedItems, bool moveUp)
        {
            if (lbSelectedItems == null)
            {
                return;
            }

            int idx = lbSelectedItems.SelectedIndex;

            if (moveUp && idx > 0)
            {
                lbSelectedItems.SuspendLayout();

                FormInputColumn icol    = lbSelectedItems.SelectedItem as FormInputColumn;
                FormInputColumn prevCol = lbSelectedItems.Items[idx - 1] as FormInputColumn;
                int             ord     = icol.SortOrder;
                icol.SortOrder    = prevCol.SortOrder;
                prevCol.SortOrder = ord;

                lbSelectedItems.Items.RemoveAt(idx);
                lbSelectedItems.Items.Insert(idx - 1, icol);
                lbSelectedItems.SelectedIndex = idx - 1;


                lbSelectedItems.ResumeLayout(true);
            }
            else if (moveUp == false && idx >= 0 && idx < lbSelectedItems.Items.Count - 1)
            {
                lbSelectedItems.SuspendLayout();
                FormInputColumn icol    = lbSelectedItems.SelectedItem as FormInputColumn;
                FormInputColumn nextCol = lbSelectedItems.Items[idx + 1] as FormInputColumn;
                int             ord     = icol.SortOrder;
                icol.SortOrder    = nextCol.SortOrder;
                nextCol.SortOrder = ord;
                lbSelectedItems.Items.RemoveAt(idx);
                lbSelectedItems.Items.Insert(idx + 1, icol);
                lbSelectedItems.SelectedIndex = idx + 1;

                lbSelectedItems.ResumeLayout(true);
            }
        }
        private void btnDown_Click(object sender, EventArgs e)
        {
            int idx = lbSelectedItems.SelectedIndex;

            if (idx >= 0 && idx < lbSelectedItems.Items.Count - 1)
            {
                try
                {
                    lbSelectedItems.SuspendLayout();
                    FormInputColumn icol    = lbSelectedItems.SelectedItem as FormInputColumn;
                    FormInputColumn nextCol = lbSelectedItems.Items[idx + 1] as FormInputColumn;

                    lbSelectedItems.Items.RemoveAt(idx);
                    lbSelectedItems.Items.Insert(idx + 1, icol);
                    lbSelectedItems.SelectedIndex = idx + 1;
                }
                finally
                {
                    lbSelectedItems.ResumeLayout(true);
                }
            }
        }
        private void btnUp_Click(object sender, EventArgs e)
        {
            int idx = lbSelectedItems.SelectedIndex;

            if (idx > 0)
            {
                try
                {
                    lbSelectedItems.SuspendLayout();

                    FormInputColumn icol    = lbSelectedItems.SelectedItem as FormInputColumn;
                    FormInputColumn prevCol = lbSelectedItems.Items[idx - 1] as FormInputColumn;

                    lbSelectedItems.Items.RemoveAt(idx);
                    lbSelectedItems.Items.Insert(idx - 1, icol);
                    lbSelectedItems.SelectedIndex = idx - 1;
                }
                finally
                {
                    lbSelectedItems.ResumeLayout(true);
                }
            }
        }
Esempio n. 11
0
 public virtual bool CheckColumnForInputValidity(IDTSVirtualInput vInput, IDTSInput input, FormInputColumn icol)
 {
     return(CheckColumnForInputValidity(icol != null ? icol.DTSVirtualColumn : null));
 }
Esempio n. 12
0
        //Dissallow DT_NTEXT, DT_TEXT and DT_IMAGE data types.
        public override bool CheckColumnForInputValidity(IDTSVirtualInput vInput, IDTSInput input, FormInputColumn icol)
        {
            bool validForInput = false;

            var dt = icol.DTSVirtualColumn.DataType;

            if (dt == DataType.DT_NTEXT || dt == DataType.DT_TEXT || dt == DataType.DT_IMAGE)
            {
                validForInput = false;
            }
            else
            {
                if (icol.DTSInputColumn != null)
                {
                    //IDTSCustomProperty nullCol = icol.DTSInputColumn.CustomPropertyCollection[Resources.LookupErrorAggIsNullColumnName];
                    //bool isNullCol = (bool)nullCol.Value;
                    IDTSCustomProperty keyCol = icol.DTSInputColumn.CustomPropertyCollection[Resources.LookupErrorAggIsKeyColumnName];
                    bool isKeyCol             = (bool)keyCol.Value;

                    if (!isKeyCol)
                    {
                        DesignTimeComponent.SetUsageType(input.ID, vInput, icol.LineageID, DTSUsageType.UT_IGNORED);
                        icol.DTSInputColumn = null;
                    }
                }
                validForInput = true;
            }

            return(validForInput);
        }