public static DataColumn GetDataColumn(DataColumnMappingCollection columnMappings, string sourceColumn, Type dataType, DataTable dataTable, MissingMappingAction mappingAction, MissingSchemaAction schemaAction)
{
if (columnMappings != null)
{
int index = columnMappings.IndexOf(sourceColumn);
if (-1 != index)
{
return(columnMappings.items[index].GetDataColumnBySchemaAction(dataTable, dataType, schemaAction));
}
}
if (ADP.IsEmpty(sourceColumn))
{
throw ADP.InvalidSourceColumn("sourceColumn");
}
switch (mappingAction)
{
case MissingMappingAction.Passthrough:
return(DataColumnMapping.GetDataColumnBySchemaAction(sourceColumn, sourceColumn, dataTable, dataType, schemaAction));
case MissingMappingAction.Ignore:
return(null);
case MissingMappingAction.Error:
throw ADP.MissingColumnMapping(sourceColumn);
}
throw ADP.InvalidMissingMappingAction(mappingAction);
}