Пример #1
0
        private dynamic AcceptMatch(dynamic arg)
        {
            var gameId  = (int)arg.id;
            var matchId = (int)arg.matchid;

            MatchSetting.ChangeMatchState(gameId, matchId, 1);

            var match = MatchSetting.Get(matchId);

            EloSetting.RecalcRatings(match.uid1, match.uid2, match.result, gameId);

            return(null);
        }
Пример #2
0
        private dynamic GetSpecificGameView(dynamic arg)
        {
            var gameId = (int)arg.id;

            dynamic model = new ExpandoObject();
            var     game  = GameSetting.Get(gameId);

            model.GameId          = game.Id;
            model.GameName        = game.Name;
            model.GameDescription = game.Description;

            var currentUser = (UserModel)Context.CurrentUser;

            if (!EloSetting.Exists(currentUser.Id, gameId))
            {
                EloSetting.CreateElo(currentUser.Id, gameId);
            }

            var scoreForAllUsers = GameSetting.GetScoreForAllUsers(gameId);

            model.UserScores = scoreForAllUsers;

            var currentUserScoreModel = scoreForAllUsers.FirstOrDefault(score => score.Username == currentUser.UserName);

            if (currentUserScoreModel != null)
            {
                model.CurrentUserScore = currentUserScoreModel.Score;
            }

            model.Matches = MatchSetting.GetMatches(gameId, currentUser.Id);

            //User Information for Navigation
            model.Username    = currentUser.UserName;
            model.UserId      = currentUser.Id;
            model.UserIsAdmin = currentUser.IsAdmin;

            return(View["game", model]);
        }