internal ChoCSVRecordConfiguration(Type recordType) : base(recordType) { CSVRecordFieldConfigurations = new List <ChoCSVRecordFieldConfiguration>(); if (recordType != null) { Init(recordType); } if (Delimiter.IsNullOrEmpty()) { if (Culture != null) { Delimiter = Culture.TextInfo.ListSeparator; } if (Delimiter.IsNullOrWhiteSpace()) { Delimiter = ","; } } Sanitize = false; InjectionChars = "=@+-"; InjectionEscapeChar = '\t'; FileHeaderConfiguration = new ChoCSVFileHeaderConfiguration(recordType, Culture); }
public ChoCSVRecordConfiguration(Type recordType = null) : base(recordType) { RecordFieldConfigurations = new List <ChoCSVRecordFieldConfiguration>(); if (recordType != null) { Init(recordType); } CSVFileHeaderConfiguration = new ChoCSVFileHeaderConfiguration(recordType, Culture); }
public ChoCSVRecordConfiguration(Type recordType = null) : base(recordType) { RecordFieldConfigurations = new List<ChoCSVRecordFieldConfiguration>(); if (recordType != null) { Init(recordType); } if (Delimiter.IsNullOrEmpty()) { if (Culture != null) Delimiter = Culture.TextInfo.ListSeparator; if (Delimiter.IsNullOrWhiteSpace()) Delimiter = ","; } CSVFileHeaderConfiguration = new ChoCSVFileHeaderConfiguration(recordType, Culture); }
internal ChoCSVRecordConfiguration(Type recordType) : base(recordType) { CSVRecordFieldConfigurations = new List <ChoCSVRecordFieldConfiguration>(); if (recordType != null) { Init(recordType); } if (Delimiter.IsNullOrEmpty()) { if (Culture != null) { Delimiter = Culture.TextInfo.ListSeparator; } if (Delimiter.IsNullOrWhiteSpace()) { Delimiter = ","; } } Sanitize = false; InjectionChars = "=@+-"; InjectionEscapeChar = '\t'; FileHeaderConfiguration = new ChoCSVFileHeaderConfiguration(recordType, Culture); RecordTypeConfiguration = new ChoCSVRecordTypeConfiguration(); RecordTypeConfiguration.DefaultRecordType = recordType; RecordSelector = new Func <object, Type>((value) => { Tuple <long, string> kvp = value as Tuple <long, string>; string line = kvp.Item2; if (line.IsNullOrEmpty()) { return(RecordTypeConfiguration.DefaultRecordType); } if (RecordTypeCodeExtractor != null) { string rt = RecordTypeCodeExtractor(line); return(RecordTypeConfiguration[rt]); } else { if (RecordTypeConfiguration.Position <= 0) { return(RecordTypeConfiguration.DefaultRecordType); } string[] fieldValues = line.Split(Delimiter, StringSplitOptions, QuoteChar); if (fieldValues.Length > 0 && RecordTypeConfiguration.Position - 1 < fieldValues.Length) { if (RecordTypeConfiguration.Contains(fieldValues[RecordTypeConfiguration.Position - 1])) { return(RecordTypeConfiguration[fieldValues[RecordTypeConfiguration.Position - 1]]); } } return(RecordTypeConfiguration.DefaultRecordType); } }); }