private async Task <List <Achievement> > GetAchievementsForGame(string steamId, int gameId)
        {
            var gameSchema = await client.GetSchemaForGame(gameId);

            var playerAchievements = await client.GetPlayerAchievements(steamId, gameId);

            var achievementsPercent = await client.GetAchievementsPercent(gameId);

            var achWithSchemaMergedList = new List <Achievement>();

            if (gameSchema.achievementList.Count != 0)
            {
                foreach (var ach in playerAchievements)
                {
                    foreach (var schemaAch in gameSchema.achievementList)
                    {
                        if (ach.apiName.Equals(schemaAch.apiName))
                        {
                            achWithSchemaMergedList.Add(new Achievement(
                                                            schemaAch.iconUrl,
                                                            schemaAch.title,
                                                            schemaAch.description,
                                                            ach.apiName,
                                                            ach.isAchieved,
                                                            schemaAch.iconUrlGray,
                                                            0,
                                                            ach.unlockTime,
                                                            null));
                        }
                    }
                }


                var resultList = new List <Achievement>();
                foreach (var ach in achWithSchemaMergedList)
                {
                    foreach (var achPercent in achievementsPercent)
                    {
                        if (ach.apiName.Equals(achPercent.apiName))
                        {
                            resultList.Add(new Achievement(
                                               ach.iconUrl,
                                               ach.title,
                                               ach.description,
                                               ach.apiName,
                                               ach.isAchieved,
                                               ach.iconUrlGray,
                                               achPercent.percent,
                                               ach.unlockTime,
                                               null));
                        }
                    }
                }

                return(resultList);
            }

            return(gameSchema.achievementList);
        }