public override DTSValidationStatus Validate()
        {
            bool hasError = false;
            bool cancel;

            if (ComponentMetaData.CustomPropertyCollection["NullDefaultTableName"].Value == null ||
                ComponentMetaData.CustomPropertyCollection["NullDefaultTableName"].Value.ToString() == string.Empty)
            {
                ComponentMetaData.FireError(0, string.Empty, "The NullDefaultTableName property must be set.", string.Empty, 0, out cancel);
                hasError = true;
            }

            foreach (IDTSInputColumn100 column in ComponentMetaData.InputCollection[0].InputColumnCollection)
            {
                CleaningOperation operation = CleaningOperation.None;
                if (column.CustomPropertyCollection["Operation"].Value == null)
                {
                    ComponentMetaData.FireError(0, string.Empty, "The Operation property must be set.", string.Empty, 0, out cancel);
                    hasError = true;
                    continue;
                }

                operation = (CleaningOperation)column.CustomPropertyCollection["Operation"].Value;

                if (column.CustomPropertyCollection["FormatString"].Value == null &&
                    Utility.ContainsFlag(operation, CleaningOperation.FormatValue))
                {
                    ComponentMetaData.FireError(0, string.Empty, "The FormatString property must be set.", string.Empty, 0, out cancel);
                    hasError = true;
                }

                if (column.CustomPropertyCollection["MinValue"].Value == null &&
                    Utility.ContainsFlag(operation, CleaningOperation.ValidateRange))
                {
                    ComponentMetaData.FireError(0, string.Empty, "The MinValue property must be set.", string.Empty, 0, out cancel);
                    hasError = true;
                }

                if (column.CustomPropertyCollection["MaxValue"].Value == null &&
                    Utility.ContainsFlag(operation, CleaningOperation.ValidateRange))
                {
                    ComponentMetaData.FireError(0, string.Empty, "The MaxValue property must be set.", string.Empty, 0, out cancel);
                    hasError = true;
                }

                if (column.CustomPropertyCollection["ValueList"].Value == null &&
                    Utility.ContainsFlag(operation, CleaningOperation.ValidateKnownGood))
                {
                    ComponentMetaData.FireError(0, string.Empty, "The ValueList property must be set.", string.Empty, 0, out cancel);
                    hasError = true;
                }
            }

            if (hasError)
            {
                return(DTSValidationStatus.VS_ISBROKEN);
            }

            return(DTSValidationStatus.VS_ISVALID);
        }
示例#2
0
        private void UpdateProperties(IDTSInputColumn100 column)
        {
            CleaningOperation operation = CleaningOperation.None;

            for (int index = 0; index < this.chkOperations.CheckedItems.Count; index++)
            {
                var item     = (string)this.chkOperations.CheckedItems[index];
                var enumItem = (CleaningOperation)Enum.Parse(typeof(CleaningOperation), item);
                operation |= enumItem;
            }

            Utility.SetPropertyValue(column, "Operation", operation);
            Utility.SetPropertyValue(column, "FormatString", txtFormatString.Text);
            Utility.SetPropertyValue(column, "MinValue", string.IsNullOrEmpty(txtMinValue.Text) ? 0 : Convert.ToInt32(txtMinValue.Text));
            Utility.SetPropertyValue(column, "MaxValue", string.IsNullOrEmpty(txtMaxValue.Text) ? 0 : Convert.ToInt32(txtMaxValue.Text));
            Utility.SetPropertyValue(column, "ValueList", txtValidValues.Text);
        }
示例#3
0
 public static bool ContainsFlag(CleaningOperation enumValue, CleaningOperation flag)
 {
     return((enumValue & flag) == flag);
 }