private void PutFreeDayTeamAsAway(Game game) { if (GameValidation.IsFreeDayTeam(game.HomeTeamId)) { SwitchTeamsOrder(game); } }
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); }
public GameApplicationService( IGameUnitOfWork uow, GameValidation gameValidation, AccountApplicationService accountApplicationService) { _uow = uow; _gameValidation = gameValidation; _accountApplicationService = accountApplicationService; }
private void SwitchTeamsOrder(Game game) { if (!GameValidation.IsFreeDayGame(game)) { int?tempHomeId = game.HomeTeamId; game.HomeTeamId = game.AwayTeamId; game.AwayTeamId = tempHomeId; } }
public async void CreateItemWithError() { var gameVw = GameTestData.Get(); var game = _mapper.Map <Game>(gameVw); _gameMock.Setup(x => x.Add(It.IsAny <Game>())).ReturnsAsync(game); var newGame = await _gameApplication.Add(gameVw); var validation = new GameValidation(_gameApplication).Validate(gameVw); Assert.False(validation.IsValid); }
public async void CreateItemWithErrorValidation(string name) { var gameVw = new GameViewModel(0, name, "new description", 1, null, true, false); var game = _mapper.Map <Game>(gameVw); _gameMock.Setup(x => x.Add(It.IsAny <Game>())).ReturnsAsync(game); var newGame = await _gameApplication.Add(gameVw); var validation = new GameValidation(_gameApplication).Validate(gameVw); Assert.False(validation.IsValid); Assert.True(validation.Errors.Where(x => x.ErrorMessage == "Nome não foi informado.").Any()); }
private void ValidateTeams(int?homeTeamId, int?awayTeamId, TournamentScheduleDto tournamentScheduleInfo) { if (tournamentScheduleInfo.Scheme == TournamentSchemeEnum.PlayOff) { if (!(homeTeamId == null && awayTeamId == null) && GameValidation.AreTheSameTeams(homeTeamId, awayTeamId)) { throw new ArgumentException(Resources.GameResultSameTeam); } } else if (GameValidation.AreTheSameTeams(homeTeamId, awayTeamId)) { throw new ArgumentException(Resources.GameResultSameTeam); } }
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 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)); } }