Example #1
0
        private void Work(CaseGroup caseGroup)
        {
            string result = "";

            try
            {
                CaseFileData data = null;
                try
                {
                    data = LoadCaseData(caseGroup.FileName, caseGroup.FunList);
                }
                catch (Exception e)
                {
                    LogHelper.Logger.Error("发现文件格式错误", e);
                    return;
                }

                data.ID        = caseGroup.ID;
                data.UpStage   = caseGroup.UpStage;
                data.DownStage = caseGroup.DownStage;
                caseList.Add(data);

                if (caseGroup.LoopCount == 0)   //发送次数为0时,无限循环
                {
                    while (IsWork)
                    {
                        SendFastMsgReq(data, out result);
                        if (result == "error")
                        {
                            return;
                        }
                    }
                }
                else
                {
                    for (int i = 1; i < caseGroup.LoopCount; i++)
                    {
                        if (!IsWork)
                        {
                            return;
                        }

                        SendFastMsgReq(data, out result);
                        if (result == "error")
                        {
                            return;
                        }
                    }
                    StartEnable = true;
                }
            }
            catch (Exception error)
            {
                this.Dispatcher.Invoke(() => { MessageBox.Show($"{error.Message} \r\n {error.StackTrace}"); });
            }
        }
Example #2
0
 private void Timer_Elapsed(object sender, ElapsedEventArgs e)
 {
     if (Interlocked.Exchange(ref inTimer, 1) == 0)
     {
         Dispatcher.BeginInvoke(new Action(() =>
         {
             foreach (var data in caseList)
             {
                 CaseGroup caseGroup = CaseGroups.FirstOrDefault(o => o.ID == data.ID);
                 if (caseGroup != null)
                 {
                     caseGroup.SendOkCount   = data.SendOkCount;
                     caseGroup.SendFailCount = data.SendFailCount;
                     caseGroup.RecFailCount  = data.RecFailCount;
                     caseGroup.RecOkCount    = data.RecOkCount;
                     caseGroup.UnDealCount   = data.SendCount - data.RecCount;
                 }
             }
         }));
         Interlocked.Exchange(ref inTimer, 0);
     }
 }