public SudokuSolver(Puzzle puzzle) { _StartTime = DateTime.UtcNow; ViewModel = new SudokuSolverViewModel(); ViewModel.Solutions = new List <Puzzle>(); ViewModel.TotalAnalyticalEntries = 0; ViewModel.TotalHypothesis = 0; ViewModel.TotalUniqueSolutions = 0; puzzle.CanSolve = true; puzzle.Solved = false; _Puzzles = new List <Puzzle> (); _Puzzles.Add(puzzle); _PuzzleCount++; SolveAllPuzzlesRecursively(); foreach (var p in _Puzzles.Where(x => x.Solved == true && x.CanSolve == true)) { ViewModel.TotalUniqueSolutions++; ViewModel.Solutions.Add(p); } ViewModel.ProcessingDuration = DateTime.UtcNow - _StartTime; }
public ActionResult Index() { var viewModel = new SudokuSolverViewModel() { Board = BoardGenerator.GenerateBoard().ToStringBoard() }; return(View(viewModel)); }