Example #1
0
        public void UpdateTopTen()
        {
            List <PresentationScoreboardModel> Scoreboard = new List <PresentationScoreboardModel>();

            foreach (var t in db.StudentTeams.Where(a => a.CompID == 1).OrderByDescending(a => a.RoundEntries.Where(b => b.Usable == true).Average(b => b.Score)).ThenBy(a => a.TeamNumberBranch).ThenBy(a => a.TeamNumberSpecific))
            {
                var AverageScore = 0;
                var AddedScore   = 0;
                foreach (var r in db.RoundEntries.Where(a => a.TeamID == t.TeamID).Where(a => a.Usable == true))
                {
                    AddedScore++;
                    AverageScore = AverageScore + r.Score;
                }
                if (AddedScore != 0)
                {
                    AverageScore = AverageScore / 2;
                }

                var PresentationScoreboardModel = new PresentationScoreboardModel();
                if (AverageScore != 0)
                {
                    PresentationScoreboardModel.TeamID             = t.TeamID;
                    PresentationScoreboardModel.TeamName           = t.TeamName;
                    PresentationScoreboardModel.TeamNumberBranch   = t.TeamNumberBranch;
                    PresentationScoreboardModel.TeamNumberSpecific = t.TeamNumberSpecific;
                    PresentationScoreboardModel.Average            = AverageScore;
                    Scoreboard.Add(PresentationScoreboardModel);
                }
            }
            Scoreboard = Scoreboard.OrderByDescending(p => p.Average).Take(10).ToList();

            this._hubContext.Clients.All.SendAsync("changeTeamScores", Scoreboard);
        }
Example #2
0
        public ActionResult Presentation(int id)
        {
            if (id == 0)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var PresentationViewModel = new PresentationViewModel();

            PresentationViewModel.CompData = (from a in db.Competitions where a.CompID == id select a).FirstOrDefault();
            int i = 0;

            foreach (var t in db.StudentTeams.Where(a => a.CompID == id))
            {
                var AverageScore = 0;
                var Round1Score  = (from r in db.RoundEntries where r.TeamID == t.TeamID && r.Round == 1 select r).FirstOrDefault();
                var Round2Score  = (from r in db.RoundEntries where r.TeamID == t.TeamID && r.Round == 2 select r).FirstOrDefault();
                if (Round1Score != null)
                {
                    AverageScore += Round1Score.Score;
                }
                if (Round2Score != null)
                {
                    AverageScore += Round2Score.Score;
                }
                if (Round1Score != null || Round2Score != null)
                {
                    AverageScore = AverageScore / 2;
                }

                var PresentationScoreboardModel = new PresentationScoreboardModel();
                if (Round1Score != null || Round2Score != null)
                {
                    PresentationScoreboardModel.TeamID             = t.TeamID;
                    PresentationScoreboardModel.TeamName           = t.TeamName;
                    PresentationScoreboardModel.TeamNumberBranch   = t.TeamNumberBranch;
                    PresentationScoreboardModel.TeamNumberSpecific = t.TeamNumberSpecific;
                    PresentationScoreboardModel.Average            = AverageScore;
                    PresentationViewModel.Scoreboard.Add(PresentationScoreboardModel);
                }
            }
            int c = 0;

            foreach (var count in db.StudentTeams.Where(a => a.CompID == id))
            {
                c++;
            }
            PresentationViewModel.TeamCount  = c;
            PresentationViewModel.Scoreboard = PresentationViewModel.Scoreboard.OrderByDescending(s => s.Average).ToList();
            return(View(PresentationViewModel));
        }