Пример #1
0
 private void optimizer_Stopped(object sender, EventArgs e)
 {
     lock (locker) {
         if (experimentStopped)
         {
             if (Optimizers.All(x => (x.ExecutionState == ExecutionState.Stopped) || (x.ExecutionState == ExecutionState.Prepared)))
             {
                 OnStopped();
             }
         }
         else
         {
             if (experimentStarted && Optimizers.Any(x => (x.ExecutionState == ExecutionState.Prepared) || (x.ExecutionState == ExecutionState.Paused)))
             {
                 Optimizers.First(x => (x.ExecutionState == ExecutionState.Prepared) || (x.ExecutionState == ExecutionState.Paused)).Start();
             }
             else if (Optimizers.All(x => x.ExecutionState == ExecutionState.Stopped))
             {
                 OnStopped();
             }
             else if (Optimizers.Any(x => (x.ExecutionState == ExecutionState.Prepared) || (x.ExecutionState == ExecutionState.Paused)) && Optimizers.All(o => o.ExecutionState != ExecutionState.Started))
             {
                 OnPaused();
             }
         }
     }
 }
Пример #2
0
 private void optimizer_Prepared(object sender, EventArgs e)
 {
     lock (locker)
         if (Optimizers.All(x => x.ExecutionState == ExecutionState.Prepared))
         {
             OnPrepared();
         }
 }
Пример #3
0
 private void optimizer_Paused(object sender, EventArgs e)
 {
     lock (locker)
         if (Optimizers.All(x => x.ExecutionState != ExecutionState.Started))
         {
             OnPaused();
         }
 }