public ActionResult Create(TournamentBindingModel model) { if (!ModelState.IsValid) { TournamentBindingModel model1 = GetReadyModel(model); return(View(model1)); } List <Team> teams = new List <Team>(); Team team; foreach (var teamId in model.Selected) { int id = int.Parse(teamId); team = _context.Teams.SingleOrDefault(t => t.Id == id); teams.Add(team); } var tournament = new TournamentTable(teams, model.Name); tournament.GenerateRounds(); _context.Tournaments.Add(tournament); _context.SaveChanges(); return(RedirectToAction("Edit", tournament)); }
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 static void Tally(Stream inStream, Stream outStream) { var fullTable = new TournamentTable(); using (StreamReader input = new StreamReader(inStream)) { while (!input.EndOfStream) { string oneMatch = input.ReadLine(); var currentMatch = new Match(oneMatch); fullTable.AddTeams(currentMatch); } } var sorted = fullTable.SortTable(); string header = "Team | MP | W | D | L | P"; using (StreamWriter output = new StreamWriter(outStream)) { output.Write(header); foreach (var line in sorted) { output.Write("\n"); output.Write($"{line.Name,-30} | {line.MatchesPlayed,2} | {line.Wins,2} | {line.Draws,2} | {line.Losses,2} | {line.Points,2}"); } } }
public ITournament saveActiveRound(ITournament entry) { TournamentTable.Update(entry, dbConn); entry.Rounds.ForEach(x => x.TournamentId = entry.TournamentId); var activeRound = entry.Rounds.Where(x => x.RoundNum == entry.ActiveRound).First(); activeRound.Matchups.ForEach(x => x.RoundId = activeRound.RoundId); CreateRoundLinks(activeRound, entry.TournamentEntries); return(entry); }
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 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); }
public List <ITournament> getAllTournaments() { return(TournamentTable.GetAll(dbConn)); }