private static void ValidateGameInRoundOnCreate( Game newGame, List <GameResultDto> gamesInRound, TournamentScheduleDto tournamentScheduleInfo) { // We are sure that newGame is been created, not edited foreach (GameResultDto game in gamesInRound) { if (GameValidation.AreSameTeamsInGames(game, newGame)) { ValidateAreSameTeamsInGames(game, newGame, tournamentScheduleInfo); } else if (GameValidation.IsTheSameTeamInTwoGames(game, newGame)) { ValidateIsTheSameTeamInTwoGames(game, newGame, tournamentScheduleInfo); } } }
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)); } }