void Pause(ProjectSummaryViewModelBase project) { if (project == null || project.GetTargetProject() == null) { return; } project.OnPropertyChanged("IsRunning"); project.GetTargetProject().Status = ProjectStatus.Pause; project.GetTargetProject().Pause(); project.StopObserveViewModel(); project.Refresh(); SynchroniseWindow(project); }
void Start(ProjectSummaryViewModelBase project, Action finishedAction = null) { if (project == null || project.GetTargetProject() == null) { return; } if (!project.GetTargetProject().CanRun()) { MessageBox.Show("Project can not run, please suppliment information"); return; } project.OnPropertyChanged("IsRunning"); project.GetTargetProject().Status = ProjectStatus.Running; Task.Factory.StartNew(() => CurrentProject.GetTargetProject().Start()).ContinueWith((t) => { if (finishedAction != null) { finishedAction(); } }); project.StartObserveViewModel(); SynchroniseWindow(project); }