Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 public static void SynchroniseWindow(ProjectSummaryViewModelBase p)
 {
     foreach (var w in ProjectWindowList)
     {
         var d = w.DataContext;
         if (d != null && d is ProjectViewModelBase)
         {
             var vm = d as ProjectViewModelBase;
             if (vm.TargetSummaryVM == p)
             {
                 if (p.GetTargetProject().Status == ProjectStatus.Running)
                 {
                     vm.StartObserveViewModel();
                 }
                 else
                 {
                     vm.StopObserveViewModel();
                 }
             }
         }
     }
 }