コード例 #1
0
        public IHttpActionResult PostDeclareWinner(DeclareWinnerBindingModel data)
        {
            if (!ModelState.IsValid)
                return BadRequest();

            var player1 = _repository.GetPlayer(data.Player1Name);
            if (player1 == null)
            {
                player1 = new Player { Name = data.Player1Name };
                _repository.AddPlayer(player1);
            }

            var player2 = _repository.GetPlayer(data.Player2Name);
            if (player2 == null)
            {
                player2 = new Player { Name = data.Player2Name };
                _repository.AddPlayer(player2);
            }

            var game = new Game
            {
                Date = DateTime.Now,
                Player1 = player1,
                Player2 = player2,
                Winner = data.Player1Score > data.Player2Score ? player1 : player2
            };

            _repository.AddGame(game);

            player1.AddScore(data.Player1Score, game);
            player2.AddScore(data.Player2Score, game);

            _repository.SaveChanges();

            return Ok();
        }
コード例 #2
0
 public void AddGame(Game game)
 {
     context.Games.Add(game);
 }