Chess.Domain.GameManager.MarkWinningTeam C# (CSharp) Method

MarkWinningTeam() public method

public MarkWinningTeam ( Team team ) : void
team Team
return void
        public void MarkWinningTeam(Team team)
        {
            switch (team)
            {
                case Team.Dark:
                    Game.WinnerPlayer = Game.DarkPlayer;
                    Game.LightPlayer.Losses++;
                    break;
                case Team.Light:
                    Game.WinnerPlayer = Game.LightPlayer;
                    Game.DarkPlayer.Losses++;
                    break;
            }

            Game.WinnerPlayer.Wins++;
            Game.Complete = true;
        }

Usage Example

        public ActionResult MakeMove(long id, Move move)
        {
            var game = GetChessGame(id);
            var gameManager = new GameManager(game);

            if (!IsPlayersMove(game, CurrentUser))
                throw new Exception("It is not your turn!");

            try
            {
                var movingTeam = gameManager.TeamToMove();

                gameManager.MovePiece(move);

                if (gameManager.IsDraw())
                    gameManager.MarkGameAsDraw();
                else if (gameManager.IsCheckmate())
                    gameManager.MarkWinningTeam(movingTeam);

                UnitOfWork.Commit();

                var model = GetGameModel(game);

                return Json(model, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                throw NewMoveFailureException(move, ex);
            }
        }