Пример #1
0
        public void DirectMigrationTest()
        {
            ConsoleLogger.LogLevel = 5;

            var orgService = ConnectionHelper.GetOrganizationalServiceSource();
            var repo       = new EntityRepository(orgService, new ServiceRetryExecutor());

            List <string> fetchXMLQueries = new List <string>
            {
                "<fetch><entity name=\"contact\" ><attribute name=\"ownerid\" /><attribute name=\"firstname\" /></entity></fetch>"
            };

            var readerConfig = new CrmStoreReaderConfig(fetchXMLQueries)
            {
                BatchSize = 2,
                PageSize  = 2,
                TopCount  = 2,
            };

            var writerConfig = new CrmStoreWriterConfig
            {
                SaveBatchSize = 200,
            };


            var reader = new DataCrmStoreReader(logger, repo, readerConfig);
            var writer = new DataCrmStoreWriter(logger, repo, writerConfig);

            var migrator           = new GenericDataMigrator <Entity, EntityWrapper>(logger, reader, writer);
            var obfuscateProcessor = new ObfuscateFieldsProcessor(repo.GetEntityMetadataCache, GetImporterConfig().FieldsToObfuscate);

            migrator.AddProcessor(obfuscateProcessor);

            migrator.MigrateData();
        }
Пример #2
0
        public void DirectMigrationTest()
        {
            ConsoleLogger.LogLevel = 5;

            var orgService = ConnectionHelper.GetOrganizationSprintAutoTest();
            var repo       = new EntityRepository(orgService, new ServiceRetryExecutor());

            List <string> fetchXMLQueries = new List <string>
            {
                "<fetch><entity name=\"contact\" ><attribute name=\"ownerid\" /><filter>" +
                $"<condition attribute=\"ownerid\" operator=\"eq\" value=\"{sourceUserId}\" />" +
                "</filter></entity></fetch>"
            };

            var readerConfig = new CrmStoreReaderConfig(fetchXMLQueries)
            {
                BatchSize = 200,
                PageSize  = 200,
                TopCount  = 200
            };

            var writerConfig = new CrmStoreWriterConfig
            {
                SaveBatchSize = 200
            };

            Dictionary <Guid, Guid> contactMappings =
                new Dictionary <Guid, Guid>()
            {
                { sourceUserId, targetGuidId }
            };

            MappingConfiguration mappingConfig = new MappingConfiguration();

            mappingConfig.Mappings.Add("systemuser", contactMappings);

            var reader = new DataCrmStoreReader(logger, repo, readerConfig);
            var writer = new DataCrmStoreWriter(logger, repo, writerConfig);

            var migrator         = new GenericDataMigrator <Entity, EntityWrapper>(logger, reader, writer);
            var mappingProcessor = new MapEntityProcessor(mappingConfig, logger, repo);

            migrator.AddProcessor(mappingProcessor);

            FluentActions.Invoking(() => migrator.MigrateData())
            .Should()
            .NotThrow();
        }
Пример #3
0
        public void Setup()
        {
            InitializeProperties();

            systemUnderTest = new GenericDataMigrator <Entity, MigrationEntityWrapper <Entity> >(MockLogger.Object, MockDataStoreReader.Object, MockDataStoreWriter.Object);
        }