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); }
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)); }
/// <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 }); }