Exemple #1
0
        private Models.LeaderboardViewModel GetLeaderboardViewModel()
        {
            TeamRepository   teamRepo   = new TeamRepository();
            List <TeamScore> teamScores = new List <TeamScore>();
            List <Team>      teams      = teamRepo.GetAll().Where(i => !i.IsAdmin).ToList();

            foreach (var team in teams)
            {
                List <Scorecard> scores = getTeamScore(team.ID).scores.ToList();
                int summedScore         = GlobalRoutines.SumScores(scores);
                int thru = scores.Where(s => s.Value > 0).Count();
                teamScores.Add(new TeamScore
                {
                    TeamName     = team.Name,
                    Score        = summedScore,
                    ScoreDisplay = summedScore == 0 ? "Even" : summedScore.ToString(),
                    Thru         = thru > 0 ? thru.ToString() : "-"
                });
            }


            Models.LeaderboardViewModel vm = new Models.LeaderboardViewModel()
            {
                TeamScores = teamScores.OrderBy(s => s.Score)
            };

            return(vm);
        }
Exemple #2
0
        public void Connect(int teamID)
        {
            var id = Context.ConnectionId;

            if (ConnectedUsers.Count(x => x.ConnectionId == id) == 0)
            {
                ConnectedUsers.Add(new UserDetail {
                    ConnectionId = id, TeamID = teamID
                });
                Models.ScorecardViewModel scvm = getTeamScore(teamID);
                Clients.Caller.updateScores(scvm);
                Models.LeaderboardViewModel lbvm = GetLeaderboardViewModel();
                Clients.Caller.updateLeaderboard(lbvm);
            }
        }