public ITournament deleteTournament(int id) { var tournament = getTournament(id); foreach (var round in tournament.Rounds) { foreach (var matchup in round.Matchups) { foreach (var matchupEntry in matchup.MatchupEntries) { MatchupEntriesTable.Delete(matchupEntry, dbConn); } MatchupsTable.Delete(matchup, dbConn); } RoundsTable.Delete(round, dbConn); } foreach (var tournamentEntry in tournament.TournamentEntries) { TournamentEntryTable.Delete(tournamentEntry, dbConn); } foreach (var tournamentPrize in tournament.TournamentPrizes) { TournamentPrizesTable.Delete(tournamentPrize, dbConn); } TournamentTable.Delete(tournament, dbConn); return(tournament); }
public List <ITournamentEntry> saveTournamentEntry(IMatchup matchup) { ITournamentEntry entry1 = TournamentEntryTable.Get(matchup.MatchupEntries[0].TournamentEntryId, dbConn); ITournamentEntry entry2 = TournamentEntryTable.Get(matchup.MatchupEntries[1].TournamentEntryId, dbConn); if (entry1 == null || entry2 == null) { return(null); } entry1.Wins = matchup.MatchupEntries[0].TheTeam.Wins; entry1.Losses = matchup.MatchupEntries[0].TheTeam.Losses; entry2.Wins = matchup.MatchupEntries[1].TheTeam.Wins; entry2.Losses = matchup.MatchupEntries[1].TheTeam.Losses; List <ITournamentEntry> results = new List <ITournamentEntry>(); if (TournamentEntryTable.Update(entry1, dbConn) == null) { return(null); } if (TournamentEntryTable.Update(entry2, dbConn) == null) { return(null); } results.Add(entry1); results.Add(entry2); return(results); }
public ITournament getTournament(int id) { var tournament = TournamentTable.Get(id, dbConn); var allRounds = RoundsTable.GetAll(dbConn); var allMatchups = MatchupsTable.GetAll(dbConn); var allMatchupEntries = MatchupEntriesTable.GetAll(dbConn); var allTournamentEntries = TournamentEntryTable.GetAll(dbConn); var allTeams = TeamsTable.GetAll(dbConn); var allTeamMembers = TeamMembersTable.GetAll(dbConn); var allPersons = PersonsTable.GetAll(dbConn); var allTournamentPrizes = TournamentPrizesTable.GetAll(dbConn); tournament.TournamentEntries = allTournamentEntries.Where(x => x.TournamentId == tournament.TournamentId).ToList(); tournament.TournamentPrizes = allTournamentPrizes.Where(x => x.TournamentId == tournament.TournamentId).ToList(); foreach (var entry in tournament.TournamentEntries) { var entryMembers = allTeamMembers.Where(x => x.TeamId == entry.TeamId).ToList(); foreach (var member in entryMembers) { entry.Members.Add(allPersons.Find(x => x.PersonId == member.PersonId)); } var theTeam = allTeams.Where(x => x.TeamId == entry.TeamId).First(); tournament.Teams.Add(theTeam); } tournament.Rounds = allRounds.Where(x => x.TournamentId == tournament.TournamentId).ToList(); foreach (var round in tournament.Rounds) { round.Matchups = allMatchups.Where(x => x.RoundId == round.RoundId).ToList(); foreach (var matchup in round.Matchups) { matchup.MatchupEntries = allMatchupEntries.Where(x => x.MatchupId == matchup.MatchupId).ToList(); foreach (var team in matchup.MatchupEntries) { team.TheTeam = tournament.TournamentEntries.Where(x => x.TournamentEntryId == team.TournamentEntryId).First(); } } } return(tournament); }
public List <ITeam> getTeamsFromTournamentId(int tournamentId) { var results = new List <ITeam>(); var tournamentEntries = TournamentEntryTable.GetAll(dbConn); var teams = TeamsTable.GetAll(dbConn); var teamHashTable = teams.ToDictionary(x => x.TeamId, x => x); for (int i = 0; i < tournamentEntries.Count; i++) { if (tournamentEntries[i].TournamentId == tournamentId) { do { results.Add(teamHashTable[tournamentEntries[i].TeamId]); i++; }while (i < tournamentEntries.Count && tournamentEntries[i].TournamentId == tournamentId); break; } } return(results); }
public ITournament createTournament(ITournament entry) { ITournament tournament = TournamentTable.Create(entry, dbConn); if (tournament == null) { return(null); } entry.TournamentEntries.ForEach(x => x.TournamentId = tournament.TournamentId); entry.TournamentEntries.ForEach(x => TournamentEntryTable.Create(x, dbConn)); entry.TournamentPrizes.ForEach(x => x.TournamentId = tournament.TournamentId); entry.TournamentPrizes.ForEach(x => TournamentPrizesTable.Create(x, dbConn)); entry.Rounds.ForEach(x => x.TournamentId = tournament.TournamentId); foreach (var round in entry.Rounds) { round.RoundId = RoundsTable.Create(round, dbConn).RoundId; CreateRoundLinks(round, entry.TournamentEntries); } return(tournament); }