コード例 #1
0
        public string Score(int player, int setNumber)
        {
            var result = string.Empty;

            if (SetScores.NotNullOrEmpty())
            {
                var setScore = SetScores.FirstOrDefault(s => s.Number == setNumber);
                if (setScore.IsNotNull())
                {
                    switch (player)
                    {
                    case 1:
                        result = setScore.Player1Points.ToString();
                        break;

                    case 2:
                        result = setScore.Player2Points.ToString();
                        break;

                    default:
                        result = setScore.BreakPoints.ToString();
                        break;
                    }
                }
            }

            return(result);
        }
コード例 #2
0
        public bool ContainsScore(string score)
        {
            if (string.IsNullOrWhiteSpace(score))
            {
                return(false);
            }

            if (score.Contains('&'))
            {
                return(score.Split('&').All(ContainsScore));
            }

            var setString = score.Split(',').FirstOrDefault() ?? string.Empty;

            int.TryParse(setString, out var set);

            if (set > 0)
            {
                var setScore = SetScores.ElementAtOrDefault(set - 1) ?? string.Empty;

                return(ContainsScore(setScore, score.Split(',').LastOrDefault()));
            }

            return(ContainsScore(LastSetScore, score));
        }
コード例 #3
0
        /// <summary>
        /// Maps view model of game result to domain model of game.
        /// </summary>
        /// <returns>Domain model of game.</returns>
        public Game ToDomain()
        {
            var penalty   = MapPenalty();
            var gameScore = GameScore.ToDomain();

            gameScore.IsTechnicalDefeat = IsTechnicalDefeat;
            return(new Game {
                Id = Id,
                TournamentId = TournamentId,
                HomeTeamId = HomeTeamId,
                AwayTeamId = AwayTeamId,
                Round = Convert.ToByte(Round),
                GameDate = GameDate,
                GameNumber = GameNumber,
                Result = new Result {
                    GameScore = gameScore,
                    SetScores = SetScores.Select(item => item.ToDomain()).ToList(),
                    Penalty = penalty
                },
                UrlToGameVideo = UrlToGameVideo
            });
        }