/// <summary> /// 1、加载案例最上级目录 /// 2、根据最上级目录加载具体的脚本信息 /// </summary> public void DoCaseLoad() { //CaseScripts = new ObservableCollection<CaseScript>(XmlDataLoader.LoadData<List<CaseScript>>(@"script.xml")); CaseGroups.Clear(); List <CaseGroupBase> baseGroups = XmlDataLoader.LoadData <List <CaseGroupBase> >(caseFilePath); if (baseGroups != null) { foreach (var item in baseGroups) { var caseFunList = LoadCaseFunction(item.FileName); CaseGroups.Add(new CaseGroup() { Check = item.Check, DownStage = item.DownStage, FileName = item.FileName, FunList = caseFunList, GroupName = item.GroupName, ID = item.ID, LoopCount = item.LoopCount, RecFailCount = item.RecFailCount, RecOkCount = item.RecOkCount, SendFailCount = item.SendFailCount, SendOkCount = item.SendOkCount, UpStage = item.UpStage }); } } }
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); } }