public static ChoFixedLengthReader <T> LoadText(string inputText, Encoding encoding = null, ChoFixedLengthRecordConfiguration configuration = null, TraceSwitch traceSwitch = null) { var r = new ChoFixedLengthReader <T>(inputText.ToStream(encoding), configuration) { TraceSwitch = traceSwitch == null ? ChoETLFramework.TraceSwitch : traceSwitch }; r._closeStreamOnDispose = true; return(r); }
internal static IEnumerator <object> LoadText(Type recType, string inputText, ChoFixedLengthRecordConfiguration configuration, Encoding encoding, int bufferSize, TraceSwitch traceSwitch = null) { ChoFixedLengthRecordReader rr = new ChoFixedLengthRecordReader(recType, configuration); rr.TraceSwitch = traceSwitch == null ? ChoETLFramework.TraceSwitchOff : traceSwitch; return(rr.AsEnumerable(new StreamReader(inputText.ToStream(), encoding, false, bufferSize)).GetEnumerator()); }
public static ChoFixedLengthReader <T> LoadLines(IEnumerable <string> inputLines, ChoFixedLengthRecordConfiguration configuration = null, TraceSwitch traceSwitch = null) { var r = new ChoFixedLengthReader <T>(inputLines, configuration) { TraceSwitch = traceSwitch == null ? ChoETLFramework.TraceSwitch : traceSwitch }; r._closeStreamOnDispose = true; return(r); }
public ChoFixedLengthWriter(ChoFixedLengthRecordConfiguration configuration = null) { Configuration = configuration; }
public static string ToText <TRec>(TRec record, ChoFixedLengthRecordConfiguration configuration = null, TraceSwitch traceSwitch = null) where TRec : class { return(ToTextAll(ChoEnumerable.AsEnumerable <TRec>(record), configuration, traceSwitch)); }
internal void Validate(ChoFixedLengthRecordConfiguration config) { try { if (FieldName.IsNullOrWhiteSpace()) { FieldName = Name; } if (StartIndex < 0) { throw new ChoRecordConfigurationException("StartIndex must be > 0."); } if (Size == null || Size.Value < 0) { throw new ChoRecordConfigurationException("Size must be > 0."); } if (FillChar != null) { if (FillChar.Value == ChoCharEx.NUL) { throw new ChoRecordConfigurationException("Invalid '{0}' FillChar specified.".FormatString(FillChar)); } if (config.EOLDelimiter.Contains(FillChar.Value)) { throw new ChoRecordConfigurationException("FillChar [{0}] can't be one EOLDelimiter characters [{1}]".FormatString(FillChar, config.EOLDelimiter)); } } if (config.Comments != null) { if ((from comm in config.Comments where comm.Contains(FillChar.ToNString(' ')) select comm).Any()) { throw new ChoRecordConfigurationException("One of the Comments contains FillChar. Not allowed."); } if ((from comm in config.Comments where comm.Contains(config.EOLDelimiter) select comm).Any()) { throw new ChoRecordConfigurationException("One of the Comments contains EOLDelimiter. Not allowed."); } } if (Size != null && Size.Value <= 0) { throw new ChoRecordConfigurationException("Size must be > 0."); } if (ErrorMode == null) { ErrorMode = ChoErrorMode.ReportAndContinue; // config.ErrorMode; } if (IgnoreFieldValueMode == null) { IgnoreFieldValueMode = config.IgnoreFieldValueMode; } if (QuoteField == null) { QuoteField = config.QuoteAllFields; } } catch (Exception ex) { throw new ChoRecordConfigurationException("Invalid configuration found at '{0}' field.".FormatString(Name), ex); } }
public ChoFixedLengthWriter(StringBuilder sb, ChoFixedLengthRecordConfiguration configuration = null) : this(new StringWriter(sb), configuration) { }