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);
        }