public SudokuGridPartViewModel( IEnumerable <ISudokuBoxBase> sudokuBoxes, ISudokuService sudokuService, IModelsFactoryService modelsFactoryService) { if (sudokuBoxes == null) { throw new ArgumentNullException(nameof(sudokuBoxes)); } var sudokuBoxArray = sudokuBoxes as ISudokuBoxBase[] ?? sudokuBoxes.ToArray(); if (sudokuBoxArray.Length != (int)SudokuBoxNumbers.Nine) { throw new ArgumentOutOfRangeException(nameof(sudokuBoxes)); } mSudokuBoxes = sudokuBoxArray; mSudokuService = sudokuService; mModelsFactoryService = modelsFactoryService; CheckSudokuBoxes(); InitializeSudokuBoxViewModels(); mSudokuService.ChangeUserDefinedToPredefinedNumberRequest += OnChangeUserDefinedToPredefinedNumberRequested; mSudokuService.ChangePredefinedToPredefinedNumberRequest += OnChangePredefinedToPredefinedNumberRequested; mSudokuService.InformAboutClickedSudokuBox += OnSudokuBoxWasClicked; mSudokuService.DeletePredefinedNumberRequest += OnDeletePredefinedNumberRequested; mSudokuService.ChangeUserDefinedToNotesRequested += OnChangeUserDefinedToNotesRequested; mSudokuService.ChangeNotesToUserDefinedRequest += OnChangeNotesToUserDefinedRequest; mSudokuService.RefreshNotesRequested += OnRefreshUserNotesRequested; }
public ControlSudokuViewModel( IModelsFactoryService modelsFactoryService, ISudokuService sudokuService) { mModelsFactoryService = modelsFactoryService; mSudokuService = sudokuService; ControlSudokuMode = ControlSudokuMode.PreDefining; InitializeControlGrid(); mSudokuService.ModeChanged += OnModeChanged; }
public SudokuGridViewModel( IModelsFactoryService modelsFactoryService, ISudokuService sudokuService, IMessageService messageService) { mModelsFactoryService = modelsFactoryService; mSudokuService = sudokuService; mMessageService = messageService; InitializeSudokuBoxViewModels(); mSudokuService.ResetRequest += OnResetRequested; mSudokuService.MarkDuplicatedNumbersRequested += OnMarkDuplicatedNumbersRequested; mSudokuService.CheckForFinishedRequested += OnCheckForFinishedRequested; mSudokuService.ExistentNumbersRequested += OnGetExistentNumbersRequested; mSudokuService.RefreshNotesRequested += OnRefreshNotesRequested; }