public void RecordImporter_Factory( ) { IReaderToEntityAdapter adapter = new Mock <IReaderToEntityAdapter>( ).Object; IImportReporter reporter = new Mock <IImportReporter>().Object; ApiResourceMapping mapping = new ApiResourceMapping( ); RecordImporter.Factory recordImporterFactory = Factory.Current.Resolve <RecordImporter.Factory>( ); IRecordImporter recordImporter = recordImporterFactory(adapter, reporter, mapping, true); Assert.That(recordImporter, Is.TypeOf <RecordImporter>( )); RecordImporter importer = (RecordImporter)recordImporter; Assert.That(importer.ReaderToEntityAdapter, Is.EqualTo(adapter)); Assert.That(importer.Reporter, Is.EqualTo(reporter)); }
async Task ImportSingleRecordAsync( ImportingJob importingTask, ImportingTaskContext context, IRecordFinder recordFinder, IRecordImporter recordImporter, IDataSourceReader reader) { var propValues = new Dictionary <string, object>(importingTask.Descriptor.ImportEntity.Fields.Count); foreach (var fieldMapping in importingTask.Descriptor.ImportEntity.Fields) { var propertyValueExpression = reader.GetField(fieldMapping.Selector).ToString(); var metaProperty = importingTask.Entity.Fields[fieldMapping.Field]; if (metaProperty.Type.TryParse(metaProperty, propertyValueExpression, out var propertyValue, fieldMapping.Format)) { propValues.Add(metaProperty.Name, propertyValue); }