Example #1
0
        public void SaveConfiguration()
        {
            var filePath = "TestData/TestImportConfig.json";

            SafelyDeleteFile(filePath);

            FluentActions.Invoking(() => systemUnderTest.SaveConfiguration(filePath))
            .Should()
            .NotThrow();

            Assert.IsTrue(File.Exists(filePath));
        }
        public void CrmImportProcessorConfigSaveTest()
        {
            CrmImportConfig mgr = new CrmImportConfig
            {
                MigrationConfig = new MappingConfiguration()
            };

            var guidMap = new Dictionary <Guid, Guid>
            {
                { Guid.Parse("4ee93159-38c1-e611-80e9-c4346bacbdc4"), Guid.Empty },
                { Guid.Parse("e47e726c-24bd-e611-80e6-c4346bad4198"), Guid.Empty },
                { Guid.Parse("75c28436-3ec1-e611-80e9-c4346bacbdc4"), Guid.Empty }
            };

            mgr.MigrationConfig.Mappings.Add("test1", guidMap);

            var guidMap2 = new Dictionary <Guid, Guid>
            {
                { Guid.Parse("018b25db-37c1-e611-80e9-c4346bacbdc4"), Guid.Empty },
                { Guid.Parse("e8a524d4-37c1-e611-80e9-c4346bacbdc4"), Guid.Empty },
                { Guid.Parse("c11b9c7b-3ac1-e611-80e9-c4346bacbdc4"), Guid.Empty },
                { Guid.Parse("c8144a2d-50bd-e611-80e6-c4346bad4198"), Guid.Empty }
            };

            mgr.MigrationConfig.Mappings.Add("test2", guidMap2);

            mgr.AdditionalFieldsToIgnore.AddRange(new List <string> {
                "TEST1", "Test2"
            });
            mgr.EntitiesToSync.AddRange(new List <string> {
                "TESTEnt1", "TestEnt2"
            });

            mgr.JsonFolderPath = @"C:\xxxx\xxx.json";

            mgr.PluginsToDeactivate.AddRange(new List <Tuple <string, string> > {
                new Tuple <string, string>("plugin name", "assembly nme"), new Tuple <string, string>("plugin name2", "assembly nme2")
            });
            mgr.ProcessesToDeactivate.AddRange(new List <string> {
                "test", "test2"
            });

            mgr.IgnoreStatuses = true;
            mgr.IgnoreStatusesExceptions.AddRange(new List <string>()
            {
                "ent1", "ent2"
            });

            mgr.SaveConfiguration(ImportConfigExample);

            Assert.IsTrue(File.Exists(ImportConfigExample));
        }
Example #3
0
        public void GenerateImportConfigFile(INotificationService notificationService, TextBox importConfig, Dictionary <string, Dictionary <Guid, Guid> > inputMapper)
        {
            try
            {
                var migration = new CrmImportConfig()
                {
                    IgnoreStatuses     = true,
                    IgnoreSystemFields = true,
                    SaveBatchSize      = 1000,
                    JsonFolderPath     = "ExtractedData"
                };

                if (File.Exists(importConfig.Text))
                {
                    migration = CrmImportConfig.GetConfiguration(importConfig.Text);
                }

                if (migration.MigrationConfig == null)
                {
                    migration.MigrationConfig = new MappingConfiguration();
                }

                if (inputMapper != null)
                {
                    migration.MigrationConfig.Mappings.Clear();
                    migration.MigrationConfig.Mappings.AddRange(inputMapper);

                    if (File.Exists(importConfig.Text))
                    {
                        File.Delete(importConfig.Text);
                    }

                    migration.SaveConfiguration(importConfig.Text);
                }
            }
            catch (Exception ex)
            {
                notificationService.DisplayFeedback($"Error Saving Import Config file. Error: {ex.Message}");
            }
        }
        static CrmImportConfig GetImportConfig()
        {
            var importConfig = new CrmImportConfig()
            {
                FilePrefix     = $"Demo{Settings.Default.DemoScenarioName}",
                SaveBatchSize  = 50,
                JsonFolderPath = GetExportPath(),
            };

            var filePath = $"{GetScenarioPath()}\\ImportConfig.json";

            if (!File.Exists(filePath))
            {
                importConfig.SaveConfiguration(filePath);
            }
            else
            {
                importConfig = CrmImportConfig.GetConfiguration(filePath);
            }

            importConfig.JsonFolderPath = GetExportPath();

            return(importConfig);
        }