Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
                }