Ejemplo n.º 1
0
        public void ReadBatchDataFromStore()
        {
            DataFileStoreReader  mgr    = new DataFileStoreReader(new ConsoleLogger(), "testexport", @"TestData");
            List <EntityWrapper> result = mgr.ReadBatchDataFromStore();

            Assert.IsTrue(result.Count > 0);
        }
        public void CrmFileDataImporterConstructor1()
        {
            var dataFileStoreReader = new DataFileStoreReader(MockLogger.Object, "Import", "TestData");
            var dataCrmStoreWriter  = new DataCrmStoreWriter(MockLogger.Object, MockEntityRepo.Object);

            FluentActions.Invoking(() => new CrmFileDataImporter(MockLogger.Object, dataFileStoreReader, dataCrmStoreWriter, mockCrmGenericImporterConfig.Object))
            .Should()
            .NotThrow();
        }
Ejemplo n.º 3
0
        public void RandomizeGuidsInFolder()
        {
            string folderPath       = new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName;
            string schemaFolderPath = Path.Combine(folderPath, "ImportSchemas\\CustomSolutionSchema");

            string extractedDataPath = Path.Combine(schemaFolderPath, "ExtractedData");
            string randomisedPath    = Path.Combine(extractedDataPath, "..\\RandomGuids");

            Directory.CreateDirectory(randomisedPath);
            foreach (var file in Directory.EnumerateFiles(randomisedPath))
            {
                DeleteFileIfExits(file);
            }

            DataFileStoreReader dsfr = new DataFileStoreReader(new ConsoleLogger(), "ExportedData", extractedDataPath);

            List <EntityWrapper> data = null;

            FluentActions.Invoking(() => data = dsfr.ReadBatchDataFromStore())
            .Should()
            .NotThrow();

            while (data != null && data.Count > 0)
            {
                foreach (var record in data)
                {
                    record.OriginalEntity.Id = Guid.NewGuid();

                    var attribs = data.SelectMany(d => d.OriginalEntity.Attributes).Where(a => a.Value is EntityReference || a.Value is Guid).ToList();
                    foreach (var a in attribs)
                    {
                        if (a.Value is EntityReference temp)
                        {
                            ((EntityReference)a.Value).Id = Guid.NewGuid();
                        }
                        else if (a.Value is Guid)
                        {
                            record.OriginalEntity[a.Key] = Guid.NewGuid();
                        }
                    }
                }

                new DataFileStoreWriter(new ConsoleLogger(), "ExportedData", randomisedPath).SaveBatchDataToStore(data);
                data = dsfr.ReadBatchDataFromStore();

                FluentActions.Invoking(() => data = dsfr.ReadBatchDataFromStore())
                .Should()
                .NotThrow();
            }

            foreach (var file in Directory.EnumerateFiles(randomisedPath))
            {
                var traget = Path.Combine(extractedDataPath, Path.GetFileName(file));
                DeleteFileIfExits(traget);
                File.Move(file, traget);
            }
        }
        private Tuple <List <Entity>, List <Entity> > GetFirstEntities(string filePrefix)
        {
            string extractedPath  = Path.Combine(TestBase.GetWorkiongFolderPath(), "TestData");
            string extractFolder  = Path.Combine(extractedPath, "ExtractedData");
            string schemaFilePath = Path.Combine(extractedPath, "usersettingsschema.xml");

            CrmSchemaConfiguration schemaConfig = CrmSchemaConfiguration.ReadFromFile(schemaFilePath);

            DataFileStoreReaderCsv store = new DataFileStoreReaderCsv(new ConsoleLogger(), filePrefix, extractFolder, schemaConfig);

            var           batch    = store.ReadBatchDataFromStore();
            List <Entity> firstEnt = batch.Select(p => p.OriginalEntity).ToList();

            DataFileStoreReader storeJson = new DataFileStoreReader(new ConsoleLogger(), filePrefix, extractFolder);

            var           batchJson    = storeJson.ReadBatchDataFromStore();
            List <Entity> firstEntJson = batchJson.Select(p => p.OriginalEntity).ToList();

            return(new Tuple <List <Entity>, List <Entity> >(firstEnt, firstEntJson));
        }
 public CrmFileDataImporter(ILogger logger, DataFileStoreReader storeReader, DataCrmStoreWriter storeWriter, ICrmGenericImporterConfig config, CancellationToken token)
     : base(logger, storeReader, storeWriter, config, token)
 {
 }
 public CrmFileDataImporter(ILogger logger, DataFileStoreReader storeReader, DataCrmStoreWriter storeWriter, ICrmGenericImporterConfig config)
     : base(logger, storeReader, storeWriter, config)
 {
 }