Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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"));
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        // GET: Form Individual Team
        public IActionResult FormTeam()
        {
            IndividualTeam team = new IndividualTeam();

            return(View(team));
        }