示例#1
0
        private void Menu_AfterSelect(object sender, TreeViewEventArgs e)
        {
            lblMsg.Visible = true;
            lblMsg.Refresh();
            switch (e.Node.Text)
            {
            case "表":
                //MenuSplitContainer.Panel2.Controls.Clear();
                var compareTable = new CompareTable(txtSourceDB.Text, txtTargetDB.Text);
                splMenu.Panel2.Controls.Clear();
                compareTable.Dock            = DockStyle.Fill;
                compareTable.TopLevel        = false;
                compareTable.WindowState     = FormWindowState.Maximized;
                compareTable.FormBorderStyle = FormBorderStyle.None;
                compareTable.Parent          = splMenu.Panel2;
                compareTable.Show();
                break;

            case "视图":
                break;

            case "存储过程":
                break;

            case "函数":
                break;

            default: break;
            }
            Thread.Sleep(2000);
            lblMsg.Visible = false;
            lblMsg.Refresh();
        }
示例#2
0
 private void InitExchanges( )
 {
     foreach (var exchange in Exchanges.Values)
     {
         exchange.ClearObservers( );
         Observers[exchange.Id] = new CryptoExchangeObserver(exchange);
         exchange.Changed      += (e, coin) =>
         {
             if (!pendingUpdates.Contains(e.Id))
             {
                 pendingUpdates.Enqueue(e.Id);
             }
         };
         var observer = Observers[exchange.Id];
         observer.Next += (e, coin) => Logger.Debug($"{e.Name,-10} {e[coin.Symbol]}");
         exchange.Subscribe(observer);
         CompareTable.AddExchange(exchange);
         try
         {
             Task.Run(() => exchange.StartMonitor(cts.Token), cts.Token);
         }
         catch (Exception e)
         {
             Logger.Error(e);
             throw;
         }
     }
 }
示例#3
0
        public DataTable ExecuteComparison()
        {
            DataRow compareRow;

            foreach (DataRow masterRow in MasterTable.Rows)
            {
                foreach (DataRow testRow in TestTable.Rows)
                {
                    compareRow = CompareTable.NewRow();
                    for (int i = 0; i < this.TableHeaders.Length; i++)
                    {
                        if (masterRow[this.TableHeaders[i]].ToString().Equals(testRow[this.TableHeaders[i]].ToString()))
                        {
                            compareRow[this.TableHeaders[i]] = "0";
                        }
                        else
                        {
                            compareRow[this.TableHeaders[i]] = masterRow[this.TableHeaders[i]].ToString() + " | " + testRow[this.TableHeaders[i]].ToString();
                        }
                    }
                    CompareTable.Rows.Add(compareRow);
                }
            }
            return(CompareTable);
        }
        private void InitExchanges( )
        {
            foreach (var exchange in Exchanges.Values)
            {
                //exchange.Next    += UpdateExchangeLastUpdateInDb;
                exchange.Changed += (e, coin) => Logger.Debug($"{e.Name,-10} {e[coin.Id]}");
                //exchange.Changed += StoreCoinValueInDb;

                CompareTable.AddExchange(exchange);

                try
                {
                    Task.Run(() => exchange.StartMonitor(Cts.Token), Cts.Token);
                }
                catch (Exception e)
                {
                    Logger.Error(e);
                    throw;
                }
            }

            IsInitialized = true;
        }
示例#5
0
        private void compareDB_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            foreach (SQLTables tab in this.Data.DB1Tables)
            {
                CompareTable table = new CompareTable();
                table.TableName  = tab.TableName;
                table.TableName1 = tab.TableName;
                table.TableName2 = "";
                table.DB1        = true;

                this.Data.CompareTables.Add(table);
            }
            foreach (SQLTables tab in this.Data.DB2Tables)
            {
                int cnt = this.Data.DB1Tables.FindAll(o => o.TableName == tab.TableName).Count;
                if (cnt == 0)
                {
                    CompareTable table = new CompareTable();
                    table.TableName  = tab.TableName;
                    table.TableName1 = "";
                    table.TableName2 = tab.TableName;
                    table.DB2        = true;
                    this.Data.CompareTables.Add(table);
                }
                else
                {
                    try
                    {
                        this.Data.CompareTables.FirstOrDefault(o => o.TableName == tab.TableName).DB2        = true;
                        this.Data.CompareTables.FirstOrDefault(o => o.TableName == tab.TableName).TableName2 = tab.TableName;
                    }
                    catch (Exception ex) { }
                }
            }
            this.Data.CompareTables = this.Data.CompareTables.OrderBy(o => o.TableName).ToList <CompareTable>();
        }
示例#6
0
 public void Dispose()
 {
     Table?.Dispose();
     CompareTable?.Dispose();
 }
示例#7
0
        private void Menu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            try
            {
                lblMsg.Visible = true;
                lblMsg.Refresh();
                if (tvwMenu.SelectedNode != null)
                {
                    tvwMenu.SelectedNode.ToolTipText = tvwMenu.SelectedNode.Text;
                }
                tvwMenu.SelectedNode             = e.Node;
                tvwMenu.SelectedNode.ToolTipText = "点击刷新";
                //var maskLayer = new MaskLayerForm(new Size(this.ClientRectangle.Width, this.ClientRectangle.Height), new Point(this.Left, this.Top + this.Height - this.ClientRectangle.Height), "正在加载...");
                //maskLayer.ShowDialog(this);

                tvwMenu.Enabled = false;
                tvwMenu.Cursor  = Cursors.WaitCursor;
                var label = new Label();
                label.Text     = "正在加载...";
                label.Location = new Point(10, 10);
                splMenu.Panel2.Controls.Clear();
                splMenu.Panel2.Controls.Add(label);
                splMenu.Panel2.Refresh();
                switch (e.Node.Text)
                {
                case "表":
                    var compareTable = new CompareTable(txtSourceDB.Text, txtTargetDB.Text);
                    splMenu.Panel2.Controls.Remove(label);
                    showSubForm(compareTable);
                    //compareTable.Dock = DockStyle.Fill;
                    //compareTable.TopLevel = false;
                    //compareTable.WindowState = FormWindowState.Maximized;
                    //compareTable.FormBorderStyle = FormBorderStyle.None;
                    //compareTable.Parent = splMenu.Panel2;
                    //compareTable.Show();
                    break;

                case "视图":
                    //splMenu.Panel2.Controls.Clear();
                    var compareView = new CompareView(txtSourceDB.Text, txtTargetDB.Text);
                    splMenu.Panel2.Controls.Remove(label);
                    showSubForm(compareView);
                    //compareView.Dock = DockStyle.Fill;
                    //compareView.TopLevel = false;
                    //compareView.WindowState = FormWindowState.Maximized;
                    //compareView.FormBorderStyle = FormBorderStyle.None;
                    //compareView.Parent = splMenu.Panel2;
                    //compareView.Show();
                    break;

                case "存储过程":
                    //splMenu.Panel2.Controls.Clear();
                    var compareProcedure = new CompareProcedure(txtSourceDB.Text, txtTargetDB.Text);
                    splMenu.Panel2.Controls.Remove(label);
                    showSubForm(compareProcedure);
                    //compareProcedure.Dock = DockStyle.Fill;
                    //compareProcedure.TopLevel = false;
                    //compareProcedure.WindowState = FormWindowState.Maximized;
                    //compareProcedure.FormBorderStyle = FormBorderStyle.None;
                    //compareProcedure.Parent = splMenu.Panel2;
                    //compareProcedure.Show();
                    break;

                case "函数":
                    //splMenu.Panel2.Controls.Clear();
                    var compareFunction = new CompareFunction(txtSourceDB.Text, txtTargetDB.Text);
                    splMenu.Panel2.Controls.Remove(label);
                    showSubForm(compareFunction);
                    //compareFunction.Dock = DockStyle.Fill;
                    //compareFunction.TopLevel = false;
                    //compareFunction.WindowState = FormWindowState.Maximized;
                    //compareFunction.FormBorderStyle = FormBorderStyle.None;
                    //compareFunction.Parent = splMenu.Panel2;
                    //compareFunction.Show();
                    break;

                default: break;
                }
            }
            catch
            {
            }
            finally
            {
                lblMsg.Visible = false;
                lblMsg.Refresh();
                tvwMenu.Enabled = true;
                tvwMenu.Cursor  = Cursors.Hand;
                //wait = false;
            }
        }
示例#8
0
 public CompareFormVM(GroupVM group, CompareTable compareTable) : base(group)
 {
     this.groupModel   = group.GroupModel;
     this.compareTable = compareTable;
     rows = new ObservableCollection <CompareRowVM>();
 }