/// <summary> /// 检查状态 /// </summary> public void CheckStatus() { if (this.Task?.TaskID != 0) { if (this.Task.TaskStatus == MissionStateEnum.Creating || this.Task.TaskStatus == MissionStateEnum.Reloading || this.Task.TaskStatus == MissionStateEnum.Started || this.Task.TaskStatus == MissionStateEnum.Waiting) { var value = WebAPI.Instance.GetStateByTaskID(this.Task.TaskID); if (value.Item1) { this.Task.TaskStatus = value.Item2; this.Serialize(); if (this.Task.TaskStatus == MissionStateEnum.Completed) { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.CreateResult, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); } else { // 启动刷新函数 this.StartRefresh(); } } } } }
void backgroundRunner_CasePass(object sender, CaseEventArgs e) { ++caseCount; ++passCount; progress += delta; services.EventBus.FireEvent(this, new StatusEventArgs(Resources.StatusRunning, true, progress)); services.TestView.SetCaseState(e.Suite, e.Case, TestState.Pass); }
void clashingCommand() { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.Clash, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); }
void diffcultyCommand() { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.Difficulty, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); }
void deleteCommand() { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.Delete, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); }
public void Refresh() { if (this.Task == null) { return; } if (this.Task.TaskStatus != MissionStateEnum.Creating || this.Task.TaskStatus != MissionStateEnum.Started || this.Task.TaskStatus != MissionStateEnum.Waiting) { return; } // 获取进度 if (!this.IsAuto) { var progress = WebAPI.Instance.Progress(this.Task.TaskID); if (progress.Item1) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.TotalProcess = progress.Item2.total; this.Task.MaxProcess = progress.Item2.top; this.Task.CurrentProcess = progress.Item2.cur; this.Serialize(); }); } } var value = WebAPI.Instance.GetStateByTaskID(this.Task.TaskID); if (value.Item1) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.StopTime = DateTime.Now; this.Task.TaskStatus = value.Item2; this.Serialize(); this.Task.RaiseChanged(); }); if (value.Item2 == MissionStateEnum.Started) { if (Task.RunTime == DateTime.MinValue) { Task.RunTime = DateTime.Now; } if (!this.IsAuto) { var progress = WebAPI.Instance.Progress(this.Task.TaskID); if (progress.Item1) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.TotalProcess = progress.Item2.total; this.Task.MaxProcess = progress.Item2.top; this.Task.CurrentProcess = progress.Item2.cur; this.Serialize(); }); } } } // 获取状态 if (value.Item2 == MissionStateEnum.Completed || value.Item2 == MissionStateEnum.Expired || value.Item2 == MissionStateEnum.Failed || value.Item2 == MissionStateEnum.Stopped || value.Item2 == MissionStateEnum.Cancelled) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.StopTime = DateTime.Now; this.Task.TotalProcess = 1; this.Task.CurrentProcess = 1; this.Task.MaxProcess = 1; this.Serialize(); this.Task.RaiseChanged(); }); if (value.Item2 == MissionStateEnum.Completed) { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.CreateResult, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); } } } else { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.LogicMessage, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); } }
private void RefreshTimer_Elapsed(object sender, ElapsedEventArgs e) { refreshTimer.Elapsed -= RefreshTimer_Elapsed; refreshTimer.Stop(); try { var value = WebAPI.Instance.GetStateByTaskID(this.Task.TaskID); if (value.Item1) { if (value.Item2 != MissionStateEnum.Creating) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.ShowLoading = false; }); } GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.StopTime = DateTime.Now; this.Task.TaskStatus = value.Item2; this.Task.RaiseChanged(); this.Serialize(); }); if (value.Item2 == MissionStateEnum.Started) { if (Task.RunTime == DateTime.MinValue) { Task.RunTime = DateTime.Now; } if (!this.IsAuto) { var progress = WebAPI.Instance.Progress(this.Task.TaskID); if (progress.Item1) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.TotalProcess = progress.Item2.total; this.Task.MaxProcess = progress.Item2.top; this.Task.CurrentProcess = progress.Item2.cur; }); } } } if (value.Item2 == MissionStateEnum.Completed || value.Item2 == MissionStateEnum.Expired || value.Item2 == MissionStateEnum.Failed || value.Item2 == MissionStateEnum.Stopped || value.Item2 == MissionStateEnum.Cancelled) { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.Task.StopTime = DateTime.Now; this.Task.TotalProcess = 1; this.Task.CurrentProcess = 1; this.Task.MaxProcess = 1; this.Task.RaiseChanged(); this.ShowLoading = false; this.Serialize(); }); if (value.Item2 == MissionStateEnum.Completed) { CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.CreateResult, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); } } else { refreshTimer.Start(); } } else { GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.ShowLoading = false; }); CaseEventArgs eventArgs = new CaseEventArgs() { EventType = CaseEventArgs.EventTypeEnum.LogicMessage, Model = this }; Messenger.Default.Send <CaseEventArgs>(eventArgs); } } catch (Exception ex) { LogManager.Logger.Error(ex.Message.ToString()); GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(() => { this.ShowLoading = false; }); #if DEBUG Console.WriteLine(ex.Message); #endif } refreshTimer.Elapsed += RefreshTimer_Elapsed; }
void backgroundRunner_CasePass(object sender, CaseEventArgs e) { ++caseCount; ++passCount; progress += delta; services.EventBus.FireEvent(this, new StatusEventArgs(Resources.StatusRunning, true, progress)); services.TestView.SetCaseState(e.Suite, e.Case, TestState.Pass); }
void onCasePass(object sender, CaseEventArgs e) { if(CasePass != null) { CasePass.Invoke(sender, e); } }
void onCaseEnd(object sender, CaseEventArgs e) { if(CaseEnd != null) { CaseEnd.Invoke(sender, e); } }
void onCaseBegin(object sender, CaseEventArgs e) { if (CaseBegin != null) { CaseBegin.Invoke(sender, e); } }