private GameModel GetGameModel(Game game)
{
var squares = game.Squares.ToArray();
squares = RepairMissingSquares(game, squares);
var moves = game.Moves.ToList();
var board = new Board(squares);
var boardModel = AutoMapper.Mapper.Map<BoardViewModel>(board);
var darkPlayerModel = AutoMapper.Mapper.Map<PlayerViewModel>(game.DarkPlayer);
var lightPlayerModel = AutoMapper.Mapper.Map<PlayerViewModel>(game.LightPlayer);
var winnerPlayer = (PlayerViewModel)null;
if (game.WinnerPlayer != null)
winnerPlayer = AutoMapper.Mapper.Map<PlayerViewModel>(game.WinnerPlayer);
var gameModel = new GameModel()
{
Board = boardModel,
Name = game.Name,
DarkScore = game.DarkScore,
LightScore = game.LightScore,
Id = game.Id,
MoveCount = game.MoveCount,
PlayerDark = darkPlayerModel,
PlayerLight = lightPlayerModel,
Moves = moves,
IsCurrentPlayersMove = IsPlayersMove(game, CurrentUser),
Complete = game.Complete,
Winner = winnerPlayer,
};
return gameModel;
}