Ejemplo n.º 1
0
        public async Task <string> StartNewGameAsync(string whitePlayerId, string blackPlayerId)
        {
            var request = new StartNewGameRequestDto
            {
                WhitePlayerId = whitePlayerId,
                BlackPlayerId = blackPlayerId
            };

            var jsonRequest = ToJsonContent(request);
            var response    = await client.PostAsync("", jsonRequest);

            response.EnsureSuccessStatusCode();

            var gameResponse = await response.Content.ReadFromJsonAsync <GameResponseDto>();

            return(gameResponse.GameId);
        }
        public IActionResult StartGame(StartNewGameRequestDto startNewGameRequest)
        {
            var startNewGameCommandHandler = new StartNewGameCommandHandler(gameRepository);

            var startNewGameCommand = new StartNewGameCommand()
            {
                BlackPlayerId = startNewGameRequest.BlackPlayerId,
                WhitePlayerId = startNewGameRequest.WhitePlayerId
            };

            var newGameId = startNewGameCommandHandler.ExecuteCommand(startNewGameCommand);

            return(CreatedAtAction(
                       nameof(GetGame),
                       new { gameId = newGameId },
                       FindGame(newGameId)));
        }