ChessSharp.Web.Controllers.ChessApiController.GetGameModel C# (CSharp) 메소드

GetGameModel() 개인적인 메소드

private GetGameModel ( Game game ) : GameModel
game Chess.Data.Entities.Game
리턴 ChessSharp.Web.Models.GameModel
        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;
        }