private static void ValidateAreSameTeamsInGames( GameResultDto game, Game newGame, TournamentScheduleDto tournamentScheduleInfo) { string errorMessage = null; if (GameValidation.IsFreeDayGame(newGame)) { if (tournamentScheduleInfo.Scheme != TournamentSchemeEnum.PlayOff) { errorMessage = Resources.SameFreeDayGameInRound; } else { errorMessage = string.Format( Resources.SameTeamInRound, game.HomeTeamId); } } else { errorMessage = String.Format( Resources.SameGameInRound, game.HomeTeamName, game.AwayTeamName, game.Round.ToString()); } throw new ArgumentException(errorMessage); }
private void SwitchTeamsOrder(Game game) { if (!GameValidation.IsFreeDayGame(game)) { int?tempHomeId = game.HomeTeamId; game.HomeTeamId = game.AwayTeamId; game.AwayTeamId = tempHomeId; } }
private void ValidateGamesInTournamentSchemeTwo(Game newGame, List <GameResultDto> games) { var tournamentGames = games .Where(gr => gr.Round != newGame.Round) .ToList(); var duplicates = tournamentGames .Where(x => GameValidation.AreSameOrderTeamsInGames(x, newGame)) .ToList(); if (GameValidation.IsFreeDayGame(newGame)) { if (duplicates.Count == GameValidation.MAX_DUPLICATE_GAMES_IN_SCHEMA_TWO) { throw new ArgumentException( string.Format( Resources.SameGameInTournamentSchemeTwo, duplicates.First().HomeTeamName, duplicates.First().AwayTeamName)); } } else { if (duplicates.Count > 0) { SwitchTeamsOrder(newGame); int switchedDuplicatesCount = tournamentGames .Count(x => GameValidation.AreSameOrderTeamsInGames(x, newGame)); if (switchedDuplicatesCount > 0) { throw new ArgumentException( string.Format( Resources.SameGameInTournamentSchemeTwo, duplicates.First().HomeTeamName, duplicates.First().AwayTeamName)); } } } }
private static void ValidateAreSameTeamsInGames( GameResultDto game, Game newGame, TournamentScheduleDto tournamentScheduleInfo) { string errorMessage = null; var tmpres = (tournamentScheduleInfo.Scheme != TournamentSchemeEnum.PlayOff ? Resources.SameFreeDayGameInRound : string.Format( Resources.SameTeamInRound, game.HomeTeamId)); errorMessage = GameValidation.IsFreeDayGame(newGame) ? tmpres : string.Format( Resources.SameGameInRound, game.HomeTeamName, game.AwayTeamName, game.Round.ToString()); throw new ArgumentException(errorMessage); }
private void ValidateGamesInTournamentSchemeOne(Game newGame, List <GameResultDto> games) { List <GameResultDto> tournamentGames = games .Where(gr => gr.Round != newGame.Round) .ToList(); var duplicates = tournamentGames .Where(x => GameValidation.AreSameTeamsInGames(x, newGame)) .ToList(); if (duplicates.Count > 0) { var awayTeamName = GameValidation.IsFreeDayGame(newGame) ? GameResultConstants.FREE_DAY_TEAM_NAME : duplicates.First().AwayTeamName; throw new ArgumentException( string.Format( Resources.SameGameInTournamentSchemeOne, duplicates.First().HomeTeamName, awayTeamName)); } }
private static void ValidateIsTheSameTeamInTwoGames( GameResultDto game, Game newGame, TournamentScheduleDto tournamentScheduleInfo) { if (tournamentScheduleInfo.Scheme == TournamentSchemeEnum.PlayOff) { return; } if (GameValidation.IsFreeDayGame(newGame)) { if (game.HomeTeamId != newGame.HomeTeamId && game.AwayTeamId != newGame.HomeTeamId) { throw new ArgumentException(Resources.SameFreeDayGameInRound); } else if (game.HomeTeamId != newGame.HomeTeamId || game.AwayTeamId != newGame.HomeTeamId) { throw new ArgumentException(string.Format( Resources.SameTeamInRound, (game.HomeTeamId == newGame.HomeTeamId) ? game.HomeTeamName : game.AwayTeamName)); } } else { throw new ArgumentException(string.Format( Resources.SameTeamInRound, (game.HomeTeamId == newGame.HomeTeamId || game.HomeTeamId == newGame.AwayTeamId) ? game.HomeTeamName : game.AwayTeamName)); } }