BusinessLogic.Logic.PlayedGames.PlayedGameSaver.MakePlayerGameResults C# (CSharp) Метод

MakePlayerGameResults() приватный Метод

private MakePlayerGameResults ( SaveableGameBase savedGame, int boardGameGeekGameDefinitionId ) : List
savedGame BusinessLogic.Models.Games.SaveableGameBase
boardGameGeekGameDefinitionId int
Результат List
        internal virtual List<PlayerGameResult> MakePlayerGameResults(
           SaveableGameBase savedGame,
           int? boardGameGeekGameDefinitionId)
        {
            BoardGameGeekGameDefinition boardGameGeekGameDefinition = null;
            if (boardGameGeekGameDefinitionId.HasValue)
            {
                boardGameGeekGameDefinition = _dataContext.FindById<BoardGameGeekGameDefinition>(boardGameGeekGameDefinitionId.Value);
            }

            var pointsDictionary = _pointsCalculator.CalculatePoints(savedGame.PlayerRanks, boardGameGeekGameDefinition);

            var playerGameResults = savedGame.PlayerRanks
                                        .Select(playerRank =>
                                        {
                                            var pointsScorecard = pointsDictionary[playerRank.PlayerId];
                                            return new PlayerGameResult
                                            {
                                                PlayerId = playerRank.PlayerId,
                                                GameRank = playerRank.GameRank,
                                                NemeStatsPointsAwarded = pointsScorecard.BasePoints,
                                                GameDurationBonusPoints = pointsScorecard.GameDurationBonusPoints,
                                                GameWeightBonusPoints = pointsScorecard.GameWeightBonusPoints,
                                                PointsScored = playerRank.PointsScored
                                            };
                                        })
                                        .ToList();
            return playerGameResults;
        }