Пример #1
0
        public IEnumerable <GameAchievement> GetGameDetails(UserAchievementRequest request)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                var gameId            = request.GameId;
                var queryString       = @"Select Game.Id as GameId, Achievement.Id as AchievementId, Game.Name as GameName,
                                        Game.Link, Achievement.Difficulty, Game.Image as GameImage, Achievement.Image as AchievementImage, 
                                        Achievement.Difficulty, Achievement.Description, Achievement.DateAdded, Achievement.Name as AchievementName
                                    From Game
                                    Join Achievement ON Achievement.GameId = Game.Id
                                    Where Game.Id = @GameId AND Achievement.IsApproved = 1";
                var gameAchievements  = connection.Query <GameAchievement>(queryString, new { gameId });
                var usersAchievements = new AchievementConnection(_dbConfig).GetUsersAchievementsForGame(request);
                //var achievementsWithCompletionStatus = from gA in gameAchievements
                //                                       join uA in usersAchievements on gA.AchievementId equals uA.AchievementId;

                foreach (GameAchievement achievement in gameAchievements)
                {
                    foreach (UserAchievement userAchievement in usersAchievements)
                    {
                        if (achievement.AchievementId == userAchievement.AchievementId)
                        {
                            achievement.Completed = true;
                        }
                    }
                }

                return(gameAchievements);
            }
            throw new Exception("Failed to get game details.");
        }
Пример #2
0
        public ActionResult GetUsersAchievementsForGame(int userId, int gameId)
        {
            var request = new UserAchievementRequest()
            {
                UserId = userId, GameId = gameId
            };
            var achievements = _connection.GetUsersAchievementsForGame(request);

            return(Accepted(achievements));
        }
Пример #3
0
        public ActionResult GetGameDetails(int gameId, int userId)
        {
            var request = new UserAchievementRequest()
            {
                GameId = gameId, UserId = userId
            };
            var gameAchievements = _connection.GetGameDetails(request);

            return(Accepted(gameAchievements));
        }
Пример #4
0
 public IEnumerable <UserAchievement> GetUsersAchievementsForGame(UserAchievementRequest request)
 {
     using (SqlConnection connection = new SqlConnection(_connectionString))
     {
         var queryString  = @"Select UserAchievement.UserId, UserAchievement.AchievementId, Achievement.Difficulty
                             From UserAchievement
                             Join Achievement on UserAchievement.AchievementId = Achievement.Id
                             Where UserAchievement.UserId = @UserId AND UserAchievement.IsApproved = 1 AND Achievement.GameId = @GameId";
         var parameters   = new { request.UserId, request.GameId };
         var achievements = connection.Query <UserAchievement>(queryString, parameters);
         return(achievements);
     }
     throw new Exception("It didn't work.");
 }