private static Dictionary <string, object> GetProperties(FlatFileConnection flatFileConnection) { Dictionary <string, object> properties = new Dictionary <string, object> { { "CodePage", flatFileConnection.CodePage }, { "ColumnNamesInFirstDataRow", flatFileConnection.ColumnNamesInFirstDataRow }, { "HeaderRowsToSkip", flatFileConnection.HeaderRowsToSkip }, { "Unicode", flatFileConnection.Unicode } }; switch (flatFileConnection.Format) { case FlatFileFormatEnum.Delimited: properties.Add("Format", "Delimited"); break; case FlatFileFormatEnum.FixedWidth: properties.Add("Format", "FixedWidth"); break; case FlatFileFormatEnum.RaggedRight: properties.Add("Format", "RaggedRight"); break; } if (flatFileConnection.LocaleId != 0) { properties.Add("LocaleID", flatFileConnection.LocaleId); } if (flatFileConnection.TextQualifier != null) { properties.Add("TextQualifier", flatFileConnection.TextQualifier); } return(properties); }
public static FlatFileConnectionManagerWrapper CreateConnectionManager(IConnectionManagerContainer connectionManagerContainer, FlatFileConnection flatFileConnection) { FlatFileConnectionManagerWrapper connectionManagerWrapper = new FlatFileConnectionManagerWrapper(connectionManagerContainer, flatFileConnection.Name, flatFileConnection.ConnectionString, flatFileConnection.GUID); Dictionary <string, object> properties = GetProperties(flatFileConnection); connectionManagerWrapper.SetProperties(properties); foreach (IonStructure.FlatFileColumn column in flatFileConnection.FlatFileColumns) { new FlatFileColumn(connectionManagerWrapper) { Name = column.Name, ColumnType = flatFileConnection.Format == FlatFileFormatEnum.FixedWidth ? "FixedWidth" : "Delimited", DataType = column.DataType, Delimiter = TranslateDelimiter(column.Delimiter), InputWidth = flatFileConnection.Format == FlatFileFormatEnum.FixedWidth ? column.InputWidth : 0, OutputWidth = column.OutputWidth, Precision = column.Precision, Scale = column.Scale, TextQualified = column.TextQualified }; } return(connectionManagerWrapper); }