Пример #1
0
        private void btnFetchData_Click(object sender, EventArgs e)
        {
            fetchDataResultedInNoErrors = true;
            var fetcher = new DiffDatabaseDataFetcher(_batchSizeToGet, _toInterrogate, _dataLoadRunID, _timeout);

            fetcher.FetchData(this);

            dgInserts.DataSource = fetcher.Inserts;

            if (fetcher.Updates_New == null || fetcher.Updates_Replaced == null)
            {
                diffDataTables1.Clear();
            }
            else
            {
                diffDataTables1.PopulateWith(fetcher.Updates_New, fetcher.Updates_Replaced);
            }

            //if user is already viewing the updates we will need to re-highlight
            if (tabControl1.SelectedTab == tpViewUpdates)
            {
                diffDataTables1.HighlightDiffCells();
            }

            //we didn't see any errors so probably everything was fine
            if (fetchDataResultedInNoErrors)
            {
                WideMessageBox.Show("Data Ready", "Data ready for you to view in the Inserts / Updates tabs", WideMessageBoxTheme.Help);
            }
        }
Пример #2
0
        public void DiffDatabaseDataFetcherTest(DatabaseType dbType)
        {
            CreateTable(dbType);

            _table.CreatePrimaryKey(_table.DiscoverColumn("name"));

            GetImplementer().CreateTrigger(new ThrowImmediatelyCheckNotifier());

            _table.Insert(new Dictionary <string, object>
            {
                { "name", "Franky" },
                { "bubbles", 3 },
                { "hic_validFrom", new DateTime(2001, 1, 2) },
                { "hic_dataLoadRunID", 7 }
            });

            Thread.Sleep(500);
            RunSQL("UPDATE {0} SET bubbles=1", _table.GetFullyQualifiedName());

            Thread.Sleep(500);
            RunSQL("UPDATE {0} SET bubbles=2", _table.GetFullyQualifiedName());

            Thread.Sleep(500);
            RunSQL("UPDATE {0} SET bubbles=3", _table.GetFullyQualifiedName());

            Thread.Sleep(500);
            RunSQL("UPDATE {0} SET bubbles=4", _table.GetFullyQualifiedName());

            Assert.AreEqual(1, _table.GetRowCount());
            Assert.AreEqual(4, _archiveTable.GetRowCount());

            TableInfo ti;

            ColumnInfo[] cols;
            Import(_table, out ti, out cols);
            DiffDatabaseDataFetcher fetcher = new DiffDatabaseDataFetcher(1, ti, 7, 100);

            fetcher.FetchData(new AcceptAllCheckNotifier());
            Assert.AreEqual(4, fetcher.Updates_New.Rows[0]["bubbles"]);
            Assert.AreEqual(3, fetcher.Updates_Replaced.Rows[0]["bubbles"]);

            Assert.AreEqual(1, fetcher.Updates_New.Rows.Count);
            Assert.AreEqual(1, fetcher.Updates_Replaced.Rows.Count);
        }