Пример #1
0
        public void WriteData(IConnection connection, IDatabaseInterface databaseInterface, IDatastore dataObject, ReportProgressMethod reportProgress)
        {
            reportProgress(new SimpleProgressReport("Aquire database-connection"));
            IDatabaseTargetProvider mySqlTarget = new MySqlTargetProvider(connection);

            DataStoreConverter dataStoreConverter = new DataStoreConverter(this.Configuration.TargetTable, dataObject.Metadata, this.Configuration.Mapping);

            reportProgress(new SimpleProgressReport("Write records to database"));

            DbTargetWriter dbTargetWriter = new DbTargetWriter(mySqlTarget, dataObject, dataStoreConverter, this.Configuration);

            dbTargetWriter.WriteDataToTarget();
        }
Пример #2
0
        public void WriteData(IConnection connection, IDatabaseInterface databaseInterface, IDatastore dataObject, ReportProgressMethod reportProgress)
        {
            reportProgress(new SimpleProgressReport("Aquire database-connection"));
            IDatabaseTargetProvider mySqlTarget = new MySqlTargetProvider(connection);

            DataStoreConverter dataStoreConverter = new DataStoreConverter(this.Configuration.TargetTable, dataObject.Metadata, this.Configuration.Mapping);

            reportProgress(new SimpleProgressReport("Write records to database"));
            for (int i = 0; i < dataObject.Count; i++)
            {
                object[] rowData  = dataObject[i];
                var      dbRecord = dataStoreConverter.ConvertToDbRecord(rowData);
                dbRecord.Identifiers = DbTargetHelper.BuildRecordIdentifiers((DbTargetCommonConfiguration)Configuration, rowData, dataObject.Metadata);

                var existingRecords = mySqlTarget.ResolveRecordInDatabase(dbRecord);

                UpsertRecordInDatabase(mySqlTarget, dbRecord, existingRecords);
            }
        }