private static ICollection<OpposingTeam> MapAllTeams(TeamEntity src) { return src.Opponents.Select(opponent => new OpposingTeam { ClubId = opponent.ClubId, TeamCode = opponent.TeamCode }).ToArray(); }
public void SyncTeamMatches(TeamEntity team) { // Create the matches=kalender table in the new division=reeks GetMatchesResponse matches = _frenoy.GetMatches(new GetMatchesRequest { Club = _settings.FrenoyClub, Season = _settings.FrenoySeason.ToString(), // TODO: replace with team.Year - 1999 DivisionId = team.FrenoyDivisionId.ToString(), Team = team.TeamCode, WithDetailsSpecified = false, WithDetails = false, }); SyncMatches(team.Id, team.FrenoyDivisionId, matches, false); }
public static TeamsExcelCreator CreateFormation(TeamEntity[] teams, List<MatchEntity> matches, PlayerEntity[] players, ClubEntity[] clubs) { var result = new List<TeamExcelModel>(); foreach (var team in teams.OrderByDescending(x => x.Competition).ThenBy(x => x.TeamCode)) { var teamModel = new TeamExcelModel(team.Competition + " " + team.TeamCode); foreach (var teamPlayer in team.Players) { var player = players.First(x => x.Id == teamPlayer.PlayerId); teamModel.Players.Add(new TeamPlayerExcelModel(player.NaamKort, teamPlayer.PlayerType)); } foreach (var match in matches.Where(x => x.FrenoyDivisionId == team.FrenoyDivisionId).OrderBy(x => x.Date)) { var teamMatch = new TeamMatchExcelModel(match, clubs); foreach (var matchPlayer in match.Players.Where(x => x.Status != PlayerMatchStatus.Captain && x.Status != PlayerMatchStatus.Major)) { if (!teamMatch.PlayerDecisions.ContainsKey(matchPlayer.Name)) { teamMatch.PlayerDecisions.Add(matchPlayer.Name, matchPlayer.Status); } } if (!string.IsNullOrWhiteSpace(match.Block)) { foreach (var matchPlayer in match.Players.Where(x => x.Status == match.Block)) { if (!teamMatch.CaptainDecisions.Contains(matchPlayer.Name)) { teamMatch.CaptainDecisions.Add(matchPlayer.Name); } } } teamModel.Matches.Add(teamMatch); } result.Add(teamModel); } return new TeamsExcelCreator(result); }
private TeamOpponentEntity CreateTeamOpponent(TeamEntity teamEntity, RankingEntryType frenoyTeam) { var opponent = new TeamOpponentEntity { TeamId = teamEntity.Id, ClubId = GetClubId(frenoyTeam.TeamClub), TeamCode = ExtractTeamCodeFromFrenoyName(frenoyTeam.Team) }; return opponent; }
private TeamEntity CreateTeam(TeamEntryType frenoyTeam) { var team = new TeamEntity(); team.Competition = _settings.Competition.ToString(); team.ReeksType = _settings.DivisionType; team.Year = _settings.Year; team.LinkId = $"{frenoyTeam.DivisionId}_{frenoyTeam.Team}"; if (_isVttl) { var teamRegexMatch = VttlDivisionRegex.Match(frenoyTeam.DivisionName); team.ReeksNummer = teamRegexMatch.Groups[1].Value; team.ReeksCode = teamRegexMatch.Groups[2].Value; } else { var teamRegexMatch = SportaDivisionRegex.Match(frenoyTeam.DivisionName.Trim()); team.ReeksNummer = teamRegexMatch.Groups[1].Value; team.ReeksCode = teamRegexMatch.Groups[2].Value; } team.FrenoyDivisionId = int.Parse(frenoyTeam.DivisionId); team.FrenoyTeamId = frenoyTeam.TeamId; team.TeamCode = frenoyTeam.Team; return team; }
public void SyncLastOpponentMatches(TeamEntity team, OpposingTeam opponent) { if (ShouldAttemptOpponentMatchSync(opponent, team.Id)) { GetMatchesResponse matches = _frenoy.GetMatches(new GetMatchesRequest { Club = GetFrenoyClubdId(opponent.ClubId), Season = _settings.FrenoySeason.ToString(), Team = opponent.TeamCode, WithDetailsSpecified = false, WithDetails = false, DivisionId = team.FrenoyDivisionId.ToString() }); SyncMatches(team.Id, team.FrenoyDivisionId, matches, false); } }
public int? SyncLastYearOpponentMatches(TeamEntity team, OpposingTeam opponent) { const int prevFrenoySeason = Constants.FrenoySeason - 1; string frenoyOpponentClub = GetFrenoyClubdId(opponent.ClubId); var opponentTeams = _frenoy.GetClubTeams(new GetClubTeamsRequest { Club = frenoyOpponentClub, Season = prevFrenoySeason.ToString() }); var lastYearTeam = opponentTeams.TeamEntries.SingleOrDefault(x => x.Team == opponent.TeamCode && x.DivisionCategory == Constants.FrenoyTeamCategory); if (lastYearTeam != null) { int lastYearDivisionId = int.Parse(lastYearTeam.DivisionId); var ourTeam = _db.Teams.SingleOrDefault(x => x.Year == Constants.CurrentSeason - 1 && x.FrenoyDivisionId == lastYearDivisionId && x.Competition == _settings.Competition.ToString()); if (ShouldAttemptOpponentMatchSync(opponent, team.Id, prevFrenoySeason)) { GetMatchesResponse matches = _frenoy.GetMatches(new GetMatchesRequest { Club = frenoyOpponentClub, Season = prevFrenoySeason.ToString(), Team = opponent.TeamCode, WithDetailsSpecified = false, WithDetails = false, DivisionId = lastYearTeam.DivisionId }); SyncMatches(ourTeam?.Id, lastYearDivisionId, matches, false, prevFrenoySeason); } return lastYearDivisionId; } return null; }