Ejemplo n.º 1
0
        public async Task <SolverResultState> ComputeSolutionAsync()
        {
            SolverResultState resultState = SolverResultState.Running;

            await Task.Run(() =>
            {
                var result = TryGenerateSolution();
                if (!result)
                {
                    resultState = SolverResultState.Error;
                }
            });

            if (resultState != SolverResultState.Running)
            {
                return(resultState);
            }

            var results = BuildSchedule();

            return(await _dataManager.ProcessSolution(results));
        }
 /// <summary>
 /// Notifies a solution process has finished.
 /// </summary>
 /// <param name="result">The result of the solution process.</param>
 /// <param name="state">The final state of the solution process.</param>
 public void StopSolutionProcess(object result, SolverResultState state)
 {
     this.Result = result;
     this.State = state;
     this.MyStopWatch.Stop();
     this.ExecutionTime = this.MyStopWatch.Elapsed;
 }