private void OnBoardResetted(BoardResetted message)
 {
     this.Status = SolveStatus.NotStarted;
     this.StepCount = 0;
     this.Duration = TimeSpan.Zero;
 }
        private void OnBoardResetted(BoardResetted message)
        {
            if (this.Solutions == null)
            {
                return;
            }

            if (this.gameService.BoardState.Equals(this.solvedBoardState))
            {
                this.nextStepIndex = 0;
                foreach (IReadOnlyList<SolutionStep> solution in this.Solutions)
                {
                    foreach (SolutionStep solutionStep in solution)
                    {
                        solutionStep.Status = SolutionStepStatus.NotSteppedYet;
                    }
                }
            }
            else
            {
                this.Status = SolverServiceStatus.NotSolved;
                this.Solutions = null;
                this.SolutionLength = null;
                if (this.AutoSolve)
                {
                    this.StartSolveCurrentBoard();
                }
            }
        }