public PlayerVsMonkeyBotWinGameCommandResult ExecuteCommand(PlayerVsMonkeyBotWinGameCommand command) { PlayerVsMonkeyBotWinGameCommandResult result; using (var context = new TicTacToeContext()) { var game = context.Set <Game>().Include(game1 => game1.Field).FirstOrDefault(game1 => game1.GameId == command.GameId); var field = game.Field; var fieldCode = GameHelper.GetFieldByNumber(game.FieldNumber, field); var gameField = this.fieldStateConverter.StringToGameField(fieldCode); var gameProcessStatistic = this.gameProcessStatisticProvider.GetGameProcessStatistic(gameField); var winCoordinates = GameHelper.GetWinCoordinates(gameProcessStatistic); GameHelper.RefreshStatistic(game.GameId, gameProcessStatistic.GameStatus, context); context.Set <Game>().Remove(game); context.SaveChanges(); result = new PlayerVsMonkeyBotWinGameCommandResult { CellSize = GameFieldConstants.LineLength, GameField = gameField, WinCoordinates = winCoordinates }; } return(result); }
public ActionResult WinGame(PlayerVsMonkeyBotWinGameCommand command) { var answer = this.playerVsMonkeyBotCommandHandler.ExecuteCommand(command); answer.Message = command.Message; return(this.View(answer)); }