public static PropertyDataRetrieversCollection ToPropertyDataRetrievers(this DocumentEntityDefinition definition) { var entityProperties = new PropertyDataRetrieversCollection(); foreach (var fieldDefinition in definition.FieldMappings.Values) { var valueType = fieldDefinition.ParserDefinition.FinalType; IValueConverter converter = null; if (valueType == typeof(DateTime)) { converter = new DateTimeValueConverter(fieldDefinition.ParserDefinition.ParsingFormats); } var sourceValueRetriever = new RowValueRetriever(fieldDefinition.Name) { Converter = converter }; var retriever = new PropertyDataRetriever(fieldDefinition.Name, sourceValueRetriever); entityProperties.Add(retriever); } return(entityProperties); }
public DataRecordSource(IRowsCollectionReaderFactory rawReaderFactory, PropertyDataRetrieversCollection retrievers) { if (rawReaderFactory == null) { throw new ArgumentNullException("rawReaderFactory"); } _rawReaderFactory = rawReaderFactory; _retrievers = retrievers; }