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); }
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); }
public static bool ContainsFlag(CleaningOperation enumValue, CleaningOperation flag) { return((enumValue & flag) == flag); }