예제 #1
0
        public async Task <ActionResult <MinesweeperApi.Models.Minesweeper> > PostStartNewGame(NewGameRequest gameRequest)
        {
            var createNewGameCommand = new CreateNewGameCommand()
            {
                Width         = gameRequest.Width,
                Height        = gameRequest.Height,
                NumberOfMines = gameRequest.NumberOfMines
            };

            var createGameResponse = await _mediator.Send(createNewGameCommand);

            if (createGameResponse.Success)
            {
                var getGameQuery = new GetGameQuery()
                {
                    GameID = createGameResponse.Value
                };
                var getGameResponse = await _mediator.Send(getGameQuery);

                return(getGameResponse.Success ?
                       new ActionResult <MinesweeperApi.Models.Minesweeper>(getGameResponse.Value) :
                       new BadRequestObjectResult(getGameResponse.Error));
            }
            else
            {
                return(new BadRequestObjectResult(createGameResponse.Error));
            }
        }
예제 #2
0
 /// <summary>
 /// Updates the can execute commands.
 /// </summary>
 private void UpdateCanExecuteCommands()
 {
     BrowseFolderCommand.RaiseCanExecuteChanged();
     LaunchGameCommand.RaiseCanExecuteChanged();
     CreateNewGameCommand.RaiseCanExecuteChanged();
     ReloadGameCommand.RaiseCanExecuteChanged();
     SetDirectoryCommand.RaiseCanExecuteChanged();
     ExportCommand.RaiseCanExecuteChanged();
     LaunchRecordingCommand.RaiseCanExecuteChanged();
     NavigateCommand.RaiseCanExecuteChanged();
     LaunchToolCommand.RaiseCanExecuteChanged();
 }