private bool ValidateDataRowProcessorDefinition( ProcessRowEventArgs <ParserContext20> e, DataRowProcessorDefinition dataRowProcessorDefinition, string dataType) { if (dataRowProcessorDefinition == null) { e.Row.ValidationResult = ValidationResultType.Error; var error = $"Unknown line type"; e.Row.Errors.Add(error); return(false); } e.Context.CurrentDataRow20.DataType = dataType; e.Context.DataTypeFieldIndex = dataRowProcessorDefinition.DataTypeFieldIndex; e.Context.DataKeyFieldIndex = dataRowProcessorDefinition.DataKeyFieldIndex; return(true); }
public void Initialize() { _fileDataSource = TestHelpers.CreateFileDataSource <ParserContext20>("test-file-data-trailer.20.csv", false); _textDecoder = new TextDecoder { Pattern = @"*.", FailValidationResult = ValidationResultType.Critical }; _dataType1 = new DataRowProcessorDefinition { DataTypeFieldIndex = 0, RowProcessorDefinition = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "DataType", Description = "DT1 Field A" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "key-field", Description = "DT1 Field B" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "DT1-Field-c", Description = "DT1 Field C" } } } }; _dataType2 = new DataRowProcessorDefinition { DataTypeFieldIndex = 0, RowProcessorDefinition = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "DataType", Description = "DT2 Field A" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "key-field", Description = "DT2 Field B" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "DT2-Field-c", Description = "DT2 Field C" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "DT2-Field-d", Description = "DT2 Field D" } } } }; _trailer = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "Field-TA" }, new FieldProcessorDefinition { Decoder = _textDecoder, FieldName = "Field-TB" } } }; _fileProcessorDefinition = new FileProcessorDefinition20 { DataTypeField = "FieldA", KeyField = "key-field", HeaderRowProcessorDefinition = new RowProcessorDefinition { FieldProcessorDefinitions = new FieldProcessorDefinition[] { }, }, TrailerRowProcessorDefinition = _trailer, DataRowProcessorDefinitions = new Dictionary <string, DataRowProcessorDefinition> { { "dt1", _dataType1 }, { "dt2", _dataType2 } } }; }