public void Add(string sourceColumn, string destinationColumn, ColumnTransformDelegate columnTransform) { if (string.IsNullOrWhiteSpace(sourceColumn)) { throw new ArgumentNullException(nameof(sourceColumn), "Destination column '" + destinationColumn + "' must have a corresponding source column."); } if (string.IsNullOrWhiteSpace(sourceColumn)) { throw new ArgumentNullException(nameof(destinationColumn), "Source column '" + sourceColumn + "' must have a corresponding destination column."); } if (!ContainsSourceColumn(sourceColumn) && !ContainsDestinationColumn(destinationColumn)) { SourceToDestination.Add(sourceColumn, destinationColumn); DestinationToSource.Add(destinationColumn, sourceColumn); } else if (ContainsSourceColumn(sourceColumn) && GetDestinationColumn(sourceColumn) != destinationColumn) { throw new ArgumentException("The source column '" + sourceColumn + "' cannot be mapped to destination column '" + destinationColumn + "' because it has already been mapped to the column '" + GetDestinationColumn(sourceColumn) + "'."); } else if (ContainsDestinationColumn(destinationColumn) && GetSourceColumn(destinationColumn) != sourceColumn) { throw new ArgumentException("The destination column '" + destinationColumn + "' cannot be mapped to source column '" + sourceColumn + "' because it has already been mapped to the column '" + GetSourceColumn(destinationColumn) + "'."); } if (columnTransform != null) { AddColumnTransform(sourceColumn, columnTransform); } }
/// <summary> /// Adds the specified column transform to the transform list at the specified location for the specified source column /// </summary> /// <param name="sourceColumn">The name of the source column for which to add the column transform</param> /// <param name="columnTransform">The transform delegate to add</param> /// <param name="executionOrder">The order of execution for this transform</param> public void AddColumnTransform(string sourceColumn, ColumnTransformDelegate columnTransform, int executionOrder) { AddColumnTransform(sourceColumn, new DataColumnTransform(columnTransform, executionOrder)); }
/// <summary> /// Adds the specified column transform to the end of the transform list for the specified source column /// </summary> /// <param name="sourceColumn">The name of the source column for which to add the column transform</param> /// <param name="columnTransform">The transform delegate to add</param> public void AddColumnTransform(string sourceColumn, ColumnTransformDelegate columnTransform) { AddColumnTransform(sourceColumn, columnTransform, GetMaxExecutionOrder(sourceColumn) + 1); }
public DataColumnTransform(ColumnTransformDelegate transform, int executionOrder) : this(transform) { ExecutionOrder = executionOrder; }
public DataColumnTransform(ColumnTransformDelegate transform) { Transform = transform; }
protected DataColumnTransform() { Transform = IdentityTransform; }