コード例 #1
0
        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;
        }
コード例 #2
0
        public ControlSudokuViewModel(
            IModelsFactoryService modelsFactoryService,
            ISudokuService sudokuService)
        {
            mModelsFactoryService = modelsFactoryService;
            mSudokuService        = sudokuService;

            ControlSudokuMode = ControlSudokuMode.PreDefining;
            InitializeControlGrid();

            mSudokuService.ModeChanged += OnModeChanged;
        }
コード例 #3
0
        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;
        }