protected override void Clone(ChoRecordConfiguration config) { base.Clone(config); if (!(config is ChoFileRecordConfiguration)) { return; } ChoFileRecordConfiguration fconfig = config as ChoFileRecordConfiguration; fconfig.MaxScanRows = MaxScanRows; fconfig.BufferSize = BufferSize; fconfig.Comments = Comments; fconfig.CultureName = CultureName; fconfig.Culture = Culture; fconfig.EOLDelimiter = EOLDelimiter; fconfig.MayContainEOLInData = MayContainEOLInData; fconfig.IgnoreEmptyLine = IgnoreEmptyLine; fconfig.ColumnCountStrict = ColumnCountStrict; fconfig.ColumnOrderStrict = ColumnOrderStrict; fconfig.EscapeQuoteAndDelimiter = EscapeQuoteAndDelimiter; fconfig.NestedColumnSeparator = NestedColumnSeparator; fconfig.QuoteChar = QuoteChar; fconfig.BackslashQuote = BackslashQuote; fconfig.DoubleQuoteChar = DoubleQuoteChar; fconfig.QuoteAllFields = QuoteAllFields; fconfig.StringSplitOptions = StringSplitOptions; fconfig.EncodingPage = EncodingPage; fconfig.NullValue = NullValue; }
protected Type DiscoverFieldType(string value, ChoFileRecordConfiguration config) { bool treatCurrencyAsDecimal = config.TreatCurrencyAsDecimal; long lresult = 0; double dresult = 0; DateTime dtresult; Decimal decResult = 0; ChoCurrency currResult = 0; Guid guidResult; if (value == null) { return(typeof(string)); } else if (long.TryParse(value, out lresult)) { return(typeof(long)); } else if (double.TryParse(value, out dresult)) { return(typeof(double)); } else if (DateTime.TryParse(value, out dtresult)) { return(typeof(DateTime)); } else if (DateTime.TryParse(value, out dtresult)) { return(typeof(DateTime)); } else if (Guid.TryParse(value, out guidResult)) { return(typeof(Guid)); } else if (!treatCurrencyAsDecimal && ChoCurrency.TryParse(value, out currResult)) { return(typeof(ChoCurrency)); } else if (treatCurrencyAsDecimal && Decimal.TryParse(value, NumberStyles.Currency, CultureInfo.CurrentCulture, out decResult)) { return(typeof(Decimal)); } else { return(typeof(string)); } }
private ChoFileRecordConfiguration GetConfiguration(Type recordType) { ChoFileRecordConfiguration config = Configuration[recordType]; if (config == null) { ChoFileRecordObjectAttribute recObjAttr = ChoType.GetAttribute <ChoFileRecordObjectAttribute>(recordType); if (recObjAttr == null || recObjAttr is ChoCSVRecordObjectAttribute) { Configuration[recordType] = new ChoCSVRecordConfiguration(recordType); } else if (recObjAttr is ChoFixedLengthRecordObjectAttribute) { Configuration[recordType] = new ChoFixedLengthRecordConfiguration(recordType); } } return(Configuration[recordType]); }
public ChoPropertyRenameAndIgnoreSerializerContractResolver(ChoFileRecordConfiguration configuration) { _configuration = configuration; }