public IEnumerable <Series> Search(string searchText, StringComparison comparison = StringComparison.InvariantCultureIgnoreCase) { return(this.GetAll().Where(x => x.TeamIds.Any (y => y != Guid.Empty && DomainService.FindTeamById(y).Name.ToString().Contains(searchText, comparison) || x.SeriesName.ToString().Contains(searchText, comparison)))); }
public IEnumerable <TeamStats> GetLeagueTablePlacement(Guid seriesId) { var series = this.FindById(seriesId); var teamIdsOfSerie = series.TeamIds; var teamsOfSerie = teamIdsOfSerie.Select(teamId => DomainService.FindTeamById(teamId)).ToList(); var teamStats = new List <TeamStats>(); foreach (var team in teamsOfSerie) { try { teamStats.Add(team.AggregatedStats[seriesId]); } catch (SeriesMissingException) { } } var orderTeamStats = teamStats.OrderByDescending(x => x.Points) .ThenByDescending(x => x.GoalDifference) .ThenByDescending(x => x.GoalsFor).ToList(); for (int i = 0; i < orderTeamStats.Count; i++) { var teamStat = orderTeamStats.ElementAt(i); teamStat.Ranking = i + 1; } return(orderTeamStats); }
//public IEnumerable<Game> SearchGame(string searchText, StringComparison comp) //{ // return this.GetAll().Where(g => g.ToString().Contains(searchText, comp)); //} public void AddGoalToGame(Guid gameId, Guid playerId, int matchMinute) { var game = this.FindById(gameId); var goal = new Goal(new MatchMinute(matchMinute), DomainService.FindPlayerById(playerId).TeamId, playerId); game.Protocol.Goals.Add(goal); }
public void RemoveMatch(Guid matchId) { if (matchId != Guid.Empty) { this.repository.RemoveMatch(DomainService.FindMatchById(matchId)); } }
public void RemoveGame(Guid gameId) { if (gameId != Guid.Empty) { this.repository.RemoveGame(DomainService.FindGameById(gameId)); } }
public IEnumerable <IExposableTeam> GetTeamsOfSerie(Guid sereisId) { var series = DomainService.FindSeriesById(sereisId); var teamsOfSerie = series.TeamIds; return(teamsOfSerie.Select(teamId => DomainService.FindTeamById(teamId)).ToList()); }
public void AddYellowCardToGame(Guid gameId, Guid playerId, int matchMinute) { var game = this.FindById(gameId); var card = new Card(new MatchMinute(matchMinute), DomainService.FindPlayerById(playerId).TeamId, playerId, CardType.Yellow); game.Protocol.Cards.Add(card); }
public void AddAssistToGame(Guid gameId, Guid playerId, int matchMinute) { var game = this.FindById(gameId); var assist = new Assist(new MatchMinute(matchMinute), DomainService.FindPlayerById(playerId).TeamId, playerId); game.Protocol.Assists.Add(assist); }
public void ScheduleGenerator(Guid seriesId) { var schedule = new Schedule(); var series = DomainService.FindSeriesById(seriesId); schedule.GenerateSchedule(series); DomainService.AddMatches(series.Schedule); repository.SaveData(); }
public void AssignPlayerToTeam(IExposablePlayer exposablePlayer, Guid teamId) { var player = (Player)exposablePlayer; var team = DomainService.FindTeamById(teamId); player.UpdateTeamAffiliation(team); team.UpdatePlayerIds(); this.repository.SaveData(); }
public void DismissPlayerFromTeam(IExposablePlayer exposablePlayer) { var player = (Player)exposablePlayer; var oldTeam = exposablePlayer.TeamId != Guid.Empty ? DomainService.FindTeamById(exposablePlayer.TeamId) : null; player.UpdateTeamAffiliation(null); oldTeam?.UpdatePlayerIds(); this.repository.SaveData(); }
public IEnumerable <IExposableTeam> Search(string searchText, StringComparison comparison = StringComparison.InvariantCultureIgnoreCase) { return(this.GetAllTeams().Where(x => x.Name.ToString().Contains(searchText, comparison) || x.ArenaName.ToString().Contains(searchText, comparison) || x.Email.Value.Contains(searchText, comparison) || x.PlayerIds.Any(y => y != Guid.Empty && DomainService.FindPlayerById(y).Name.ToString().Contains(searchText, comparison)))); }
public IEnumerable <Match> Search(string searchText, StringComparison comparison = StringComparison.InvariantCultureIgnoreCase) { return(this.GetAll().Where(x => x.Id != Guid.Empty && x.SeriesId != Guid.Empty && x.HomeTeamId != Guid.Empty && x.AwayTeamId != Guid.Empty && (DomainService.FindSeriesById(x.SeriesId).SeriesName.ToString().Contains(searchText, comparison) || DomainService.FindTeamById(x.HomeTeamId).Name.ToString().Contains(searchText, comparison) || DomainService.FindTeamById(x.AwayTeamId).Name.ToString().Contains(searchText, comparison) || x.Location.ToString().Contains(searchText, comparison) || x.MatchDate.ToString().Contains(searchText, comparison)))); }
public void RemoveTeamFromSeries(Guid seriesId, Guid teamId) { var series = DomainService.FindSeriesById(seriesId); if (series.TeamIds.Contains(teamId)) { series.TeamIds.Remove(teamId); } else { throw new ArgumentException($"Can not remove team \"{DomainService.FindTeamById(teamId)}\"." + $" Team doesn't exist in series \"{DomainService.FindSeriesById(seriesId)}\"."); } }
public Guid Add(Guid matchId) { var match = DomainService.FindMatchById(matchId); if (match != null) { var game = new Game(match); this.repository.Add(game); return(game.Id); } else { throw new ArgumentException("Invalid matchId"); } }
public void AddTeamToSeries(Guid seriesId, Guid teamId) { var series = this.FindById(seriesId); if (!(series.TeamIds.Contains(teamId))) { series.TeamIds.Add(teamId); var team = DomainService.FindTeamById(teamId); team.AddSeries(series); DomainService.AddSeriesToPlayers(series, team); } else { throw new ArgumentException($"Series already contains team {DomainService.FindTeamById(teamId)}"); } }
public IEnumerable <Guid> AddList(IEnumerable <Guid> matchIds) { var gameIds = new List <Guid>(); foreach (var matchId in matchIds) { var match = DomainService.FindMatchById(matchId); if (match != null) { var game = new Game(match); this.repository.Add(game); gameIds.Add(game.Id); } else { throw new ArgumentException("Invalid matchId"); } } return(gameIds); }
public void AddPenaltyToGame(Guid gameId, Guid playerId, int matchMinute, bool isGoal) { var game = this.FindById(gameId); var penalty = new Penalty(new MatchMinute(matchMinute), playerId, isGoal, game, DomainService.FindPlayerById(playerId).TeamId); game.Protocol.Penalties.Add(penalty); }
public void DeleteSeries(Guid seriesId) { DomainService.RemoveGameAndMatchesFromSeries(seriesId); this.repository.DeleteSeries(seriesId); DomainService.SaveAll(); }