public IActionResult ViewBallot(int id) { var teams = BuildTeamList(id); Ballot ballot = _context.Ballot.FirstOrDefault(b => b.BallotId == id); Debate debate = _context.Debate.FirstOrDefault(d => d.DebateId == ballot.DebateId); IndividualTeam affirmativeTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == debate.AffirmativeTeamId); IndividualTeam negativeTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == debate.NegativeTeamId); var currentUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier).ToString(); Judge judge = _context.Judge.FirstOrDefault(t => t.ApplicationUserId == currentUserId); Round round = _context.Round.FirstOrDefault(r => r.RoundId == ballot.RoundId); JudgesBallotViewModel ballotVM = new JudgesBallotViewModel() { Ballot = ballot, AffirmativeTeam = affirmativeTeam, NegativeTeam = negativeTeam, Round = round, Debate = debate, Judge = judge, Winner = "Team", Loser = "Team", TeamsInRound = teams, }; return(View(ballotVM)); }
public List <IndividualTeam> GetNegativeTeams(int id) { List <IndividualTeam> negTeams = new List <IndividualTeam>(); var currentUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier).ToString(); var currentDirector = _context.TournamentDirector.FirstOrDefault(t => t.ApplicationUserId == currentUserId); Tournament tournament = _context.Tournament.FirstOrDefault(t => t.TournamentId == currentDirector.TournamentId); List <Pairing> pairings = _context.Pairing.Where(p => p.RoundId == id).ToList(); foreach (var pairing in pairings) { IndividualTeam negTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == pairing.NegativeTeamId); negTeams.Add(negTeam); } return(negTeams); }
public IActionResult FormTeam([Bind("IndividualTeamId,FirstSpeaker,SecondSpeaker,FirstSpeakerId,SecondSpeakerId,SingleTournamentWins,SingleTournamentLosses,SingleTournamentSpeakerPoints,CumulativeAnnualWins,CumulativeAnnualLosses,CumulativeAnuualEliminationRoundWins,AnnualEliminationRoundAppearances,TournamentAffirmativeRounds,TournamentNegativeRounds,TocBids,CoachId,SchoolId")] IndividualTeam team) { var currentUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier).ToString(); var currentCoach = _context.Coach.FirstOrDefault(c => c.ApplicationUserId == currentUserId); var school = _context.School.Where(s => s.SchoolId == currentCoach.SchoolId).Single(); team.CoachId = currentCoach.CoachId; team.SchoolId = currentCoach.SchoolId; Debater debater1 = new Debater(); debater1 = team.FirstSpeaker; debater1.CoachId = currentCoach.CoachId; debater1.SchoolId = currentCoach.SchoolId; Debater debater2 = new Debater(); debater2 = team.SecondSpeaker; debater2.CoachId = currentCoach.CoachId; debater2.SchoolId = currentCoach.SchoolId; _context.Add(debater1); _context.Add(debater2); _context.SaveChanges(); debater1.PartnerId = debater2.DebaterId; debater2.PartnerId = debater1.DebaterId; team.IndividualTeamName = $"{school.Name} {debater1.LastName} & {debater2.LastName}"; _context.Update(debater1); _context.Update(debater2); _context.SaveChanges(); _context.Add(team); _context.SaveChanges(); team.FirstSpeakerId = debater1.DebaterId; team.SecondSpeakerId = debater2.DebaterId; debater1.IndividualTeamId = team.IndividualTeamId; debater2.IndividualTeamId = team.IndividualTeamId; debater1.SpeakerPosition = 1; debater2.SpeakerPosition = 2; _context.Update(team); _context.Update(debater1); _context.Update(debater2); _context.SaveChanges(); return(RedirectToAction("ManageTeam", "Coaches")); }
public IActionResult ViewPairings(int id) { Tournament tournament = _context.Tournament.FirstOrDefault(t => t.TournamentId == id); var currentUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier).ToString(); Debater debater = _context.Debater.FirstOrDefault(d => d.ApplicationUserId == currentUserId); IndividualTeam team = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == debater.IndividualTeamId); List <Pairing> pairings = _context.Pairing.Where(p => p.TournamentId == id && (p.AffirmativeTeamId == team.IndividualTeamId || p.NegativeTeamId == team.IndividualTeamId)).ToList(); List <Judge> judges = new List <Judge>(); List <IndividualTeam> affTeams = new List <IndividualTeam>(); List <IndividualTeam> negTeams = new List <IndividualTeam>(); List <Room> rooms = new List <Room>(); List <Round> rounds = new List <Round>(); foreach (var pair in pairings) { Judge judge = _context.Judge.FirstOrDefault(j => j.JudgeId == pair.JudgeId); judges.Add(judge); IndividualTeam affTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == pair.AffirmativeTeamId); affTeams.Add(affTeam); IndividualTeam negTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == pair.NegativeTeamId); negTeams.Add(negTeam); Room room = _context.Room.FirstOrDefault(r => r.RoomId == pair.RoomId); rooms.Add(room); Round round = _context.Round.FirstOrDefault(r => r.RoundId == pair.RoundId); rounds.Add(round); } PairingsTabulationViewModel data = new PairingsTabulationViewModel() { Tournament = tournament, Rounds = rounds, Rooms = rooms, AffirmativeTeams = affTeams, NegativeTeams = negTeams, Judges = judges, Debater = debater, }; return(View(data)); }
public IEnumerable <SelectListItem> BuildTeamList(int id) { List <SelectListItem> teamsToChoose = new List <SelectListItem>(); Ballot ballot = _context.Ballot.FirstOrDefault(b => b.BallotId == id); Debate debate = _context.Debate.FirstOrDefault(d => d.DebateId == ballot.DebateId); IndividualTeam affirmativeTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == debate.AffirmativeTeamId); IndividualTeam negativeTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == debate.NegativeTeamId); List <IndividualTeam> teams = new List <IndividualTeam>(); teams.Add(affirmativeTeam); teams.Add(negativeTeam); foreach (var team in teams) { teamsToChoose.Add( new SelectListItem { Value = team.IndividualTeamId.ToString(), Text = team.IndividualTeamName, }); } return(teamsToChoose); }
public IActionResult ViewBallot(JudgesBallotViewModel data) { Pairing pairing = _context.Pairing.Where(p => p.JudgeId == data.Ballot.JudgeId && p.RoundId == data.Ballot.RoundId).Single(); IndividualTeam affTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == pairing.AffirmativeTeamId); IndividualTeam negTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == pairing.NegativeTeamId); Debater firstAffSpeaker = _context.Debater.FirstOrDefault(d => d.IndividualTeamId == affTeam.IndividualTeamId && d.SpeakerPosition == 1); Debater secondAffSpeaker = _context.Debater.FirstOrDefault(d => d.IndividualTeamId == affTeam.IndividualTeamId && d.SpeakerPosition == 2); Debater firstNegSpeaker = _context.Debater.FirstOrDefault(d => d.IndividualTeamId == negTeam.IndividualTeamId && d.SpeakerPosition == 1); Debater secondNegSpeaker = _context.Debater.FirstOrDefault(d => d.IndividualTeamId == negTeam.IndividualTeamId && d.SpeakerPosition == 2); Ballot ballot = data.Ballot; Round round = _context.Round.Where(r => r.RoundId == ballot.RoundId).Single(); var winnerId = int.Parse(data.Winner); var loserId = int.Parse(data.Loser); IndividualTeam winningTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == winnerId); IndividualTeam losingTeam = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == loserId); firstAffSpeaker.IndividualTournamentSpeakerPoints += data.Ballot.FirstAffSpeakerPoints; secondAffSpeaker.IndividualTournamentSpeakerPoints += data.Ballot.SecondAffSpeakerPoints; firstNegSpeaker.IndividualTournamentSpeakerPoints += data.Ballot.FirstNegSpeakerPoints; secondNegSpeaker.IndividualTournamentSpeakerPoints += data.Ballot.SecondNegSpeakerPoints; affTeam.SingleTournamentSpeakerPoints += (data.Ballot.FirstAffSpeakerPoints + data.Ballot.SecondAffSpeakerPoints); negTeam.SingleTournamentSpeakerPoints += (data.Ballot.FirstNegSpeakerPoints + data.Ballot.SecondNegSpeakerPoints); ballot.WinnerId = winnerId; pairing.WinnerId = winnerId; if (round.RoundNumber > 4) { winningTeam.CumulativeAnnualElminationRoundWins++; losingTeam.SingleTournamentSpeakerPoints = 0; losingTeam.SingleTournamentWins = 0; losingTeam.SingleTournamentLosses = 0; losingTeam.TournamentAffirmativeRounds = 0; losingTeam.TournamentNegativeRounds = 0; } if (round.RoundNumber == 7) { TournamentResults result = _context.TournamentResults.Where(t => t.TournamentId == pairing.TournamentId && t.IndividualTeamId == winningTeam.IndividualTeamId).Single(); result.EliminationRoundResult = "winner"; _context.Update(result); winningTeam.CumulativeAnnualElminationRoundWins++; winningTeam.SingleTournamentSpeakerPoints = 0; winningTeam.SingleTournamentWins = 0; winningTeam.SingleTournamentLosses = 0; winningTeam.TournamentAffirmativeRounds = 0; winningTeam.TournamentNegativeRounds = 0; losingTeam.SingleTournamentSpeakerPoints = 0; losingTeam.SingleTournamentWins = 0; losingTeam.SingleTournamentLosses = 0; losingTeam.TournamentAffirmativeRounds = 0; losingTeam.TournamentNegativeRounds = 0; } if (round.RoundNumber <= 4) { winningTeam.SingleTournamentWins++; losingTeam.SingleTournamentLosses++; } winningTeam.CumulativeAnnualWins++; losingTeam.CumulativeAnnualLosses++; ballot.BallotTurnedIn = true; _context.Update(ballot); _context.Update(pairing); _context.Update(winningTeam); _context.Update(losingTeam); _context.Update(firstAffSpeaker); _context.Update(secondAffSpeaker); _context.Update(firstNegSpeaker); _context.Update(secondNegSpeaker); _context.SaveChanges(); return(RedirectToAction("BallotSubmission", "Judges")); }
public IActionResult ViewRecords(CoachesViewReportsViewModel data) { int graph = Convert.ToInt32(data.GraphNumber); int firstTeamId = Convert.ToInt32(data.TeamA); int secondTeamId = Convert.ToInt32(data.TeamB); IndividualTeam team1 = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == firstTeamId); IndividualTeam team2 = _context.IndividualTeam.FirstOrDefault(i => i.IndividualTeamId == secondTeamId); var firstModel = new List <SimpleReportViewModel>(); List <Tournament> firstTeamTournament = PopulateTournaments(team1.IndividualTeamId); List <Tournament> secondTeamTournament = PopulateTournaments(team2.IndividualTeamId); List <TournamentResults> firstTeamResults = PopulateResults(team1.IndividualTeamId); List <TournamentResults> secondTeamResults = PopulateResults(team2.IndividualTeamId); List <CoachesViewReportsViewModel> firstTeamData = new List <CoachesViewReportsViewModel>(); List <CoachesViewReportsViewModel> secondTeamData = new List <CoachesViewReportsViewModel>(); List <SimpleReportViewModel> firstTeamReports = new List <SimpleReportViewModel>(); List <SimpleReportViewModel> secondTeamReports = new List <SimpleReportViewModel>(); if (graph == 3) { for (int i = 0; i < firstTeamResults.Count(); i++) { CoachesViewReportsViewModel teamData = new CoachesViewReportsViewModel() { TournamentName = firstTeamTournament[i].Name, SpeakerPoints = firstTeamResults[i].SpeakerPoints, }; firstTeamData.Add(teamData); } for (int j = 0; j < secondTeamResults.Count(); j++) { CoachesViewReportsViewModel teamData = new CoachesViewReportsViewModel() { TournamentName = secondTeamTournament[j].Name, SpeakerPoints = secondTeamResults[j].SpeakerPoints, }; secondTeamData.Add(teamData); } foreach (var item in firstTeamData) { firstTeamReports.Add(new SimpleReportViewModel { DimensionOne = item.TournamentName, Quantity = item.SpeakerPoints, }); } foreach (var item in secondTeamData) { secondTeamReports.Add(new SimpleReportViewModel { DimensionOne = item.TournamentName, Quantity = item.SpeakerPoints, }); } } else { for (int i = 0; i < firstTeamResults.Count(); i++) { CoachesViewReportsViewModel teamData = new CoachesViewReportsViewModel() { TournamentName = firstTeamTournament[i].Name, Wins = firstTeamResults[i].TeamWins, }; firstTeamData.Add(teamData); } foreach (var item in firstTeamData) { firstTeamReports.Add(new SimpleReportViewModel { DimensionOne = item.TournamentName, Quantity = item.Wins, }); } for (int j = 0; j < secondTeamResults.Count(); j++) { CoachesViewReportsViewModel teamData = new CoachesViewReportsViewModel() { TournamentName = secondTeamTournament[j].Name, Wins = secondTeamResults[j].TeamWins, }; secondTeamData.Add(teamData); } foreach (var item in secondTeamData) { secondTeamReports.Add(new SimpleReportViewModel { DimensionOne = item.TournamentName, Quantity = item.Wins, }); } } CoachesViewReportsViewModel viewData = new CoachesViewReportsViewModel() { FirstTeamReports = firstTeamReports, SecondTeamReports = secondTeamReports, TeamOne = team1, TeamTwo = team2, }; return(View(viewData)); }
// GET: Form Individual Team public IActionResult FormTeam() { IndividualTeam team = new IndividualTeam(); return(View(team)); }