예제 #1
0
        private void RepairProjects(Action <int> percent)
        {
            try
            {
                percent(0);
                string err = string.Empty;
                tlsttResultSecondOpr bll     = new tlsttResultSecondOpr();
                List <string>        sqlList = DataBaseUpgrade.getSql();
                percent(1);
                int   len = sqlList.Count;
                float percentage1 = (float)99 / (float)len, percentage2 = 0;
                float count = percentage1 + 1;
                for (int i = 0; i < sqlList.Count; i++)
                {
                    bll.DataBaseRepair(sqlList[i], out err);

                    if (count < 100)
                    {
                        percent((int)count);
                        percentage2 += percentage1;
                        if (percentage2 > 1)
                        {
                            count      += percentage2;
                            percentage2 = 0;
                        }
                    }
                    else
                    {
                        count = 100;
                    }
                }
            }
            catch (Exception)
            {
                percent(100);
            }
        }
예제 #2
0
        /// <summary>
        /// 上传
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButtonUpdate_Click(object sender, RoutedEventArgs e)
        {
            //if (_DataTimer == null)
            //{
            //    _DataTimer = new DispatcherTimer();
            //    _DataTimer.Interval = TimeSpan.FromSeconds(30);
            //    _DataTimer.Tick += new EventHandler(UploadTimeOut);
            //    _DataTimer.Start();
            //}

            if (Global.InterfaceType.Equals("DY"))
            {
                if (Global.samplenameadapter == null || Global.samplenameadapter.Count == 0)
                {
                    MessageBox.Show(this, "请先进入设置界面进行【服务器通讯测试】!", "操作提示");
                    return;
                }
            }

            if (!Global.IsConnectInternet())
            {
                MessageBox.Show(this, "设备无法连接到互联网,请检查网络!", "系统提示", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            LabelInfo.Content = "正在上传...";
            tlsttResultSecondOpr Rs = new tlsttResultSecondOpr();

            try
            {
                DataTable dt  = Rs.GetAsDataTable(string.Empty, string.Empty, 3, _AllNumber);
                Message   msg = new Message()
                {
                    what  = MsgCode.MSG_UPLOAD,
                    obj1  = Global.samplenameadapter[0],
                    table = dt
                };
                if (Global.InterfaceType.Equals("ZH") || Global.InterfaceType.Equals("ALL"))
                {
                    if (Wisdom.DeviceID.Length == 0)
                    {
                        if (MessageBox.Show("【无法上传】 - 设备唯一码未设置,是否立即设置仪器唯一码?", "操作提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                        {
                            SettingsWindow window = new SettingsWindow()
                            {
                                DeviceIdisNull = false
                            };
                            window.ShowDialog();
                        }
                    }

                    if (dt != null && dt.Rows.Count > 0)
                    {
                        List <tlsTtResultSecond> dtList = Global.TableToEntity <tlsTtResultSecond>(dt);
                        msg.selectedRecords = dtList;
                    }
                }
                Global.updateThread.SendMessage(msg, _msgThread);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }