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]); }