protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                bool achievementsExists = true;
                using (TrambambuleDBContextDataContext context = new TrambambuleDBContextDataContext())
                {
                    achievementsExists = context.AchievementPlayer.Any();
                }
                if (!achievementsExists)
                {
                    List<AchievementTextWithIds> achievementsData = new AchievementsService(DataAccess.GetPlayers().ToList()).RecalculateAchievements(true);

                    litStatus.Text = "Osiągnięcia zostały przyznane";

                    //List<AchievementsWithPlayers> awpList = new List<AchievementsWithPlayers>();
                    //using (TrambambuleDBContextDataContext context = new TrambambuleDBContextDataContext())
                    //{
                    //    var achievements = context.Achievements.ToList();
                    //    foreach (Achievement achievement in achievements)
                    //    {
                    //        var players = (from ap in context.AchievementPlayer
                    //                       join p in context.Players
                    //                       on ap.PlayerId equals p.Id
                    //                       where ap.AchievementId == achievement.Id
                    //                       select new PlayerWithLevelOfAchievement(p, ap.LevelOfAchievement, ap.ToNextLevelLabel)).ToList();

                    //        AchievementsWithPlayers awp = new AchievementsWithPlayers(achievement, players);
                    //        awpList.Add(awp);
                    //    }
                    //}

                    Cache.Remove(DataAccess.PlayersListCacheName);
                    Cache.Remove(DataAccess.PlayersNamesAndSurnamesWithoutPolishCharsCacheName);
                    Cache.Remove(DataAccess.PlayersAchievementsCacheName);
                    Cache.Remove(DataAccess.AllAchievementsCacheName);
                    Cache.Remove(DataAccess.OverallStatsCacheName);
                }
            }
            catch (Exception ex)
            {
                litStatus.Text = ex.Message + " " + ex.StackTrace;
            }
        }
        private void CalculateAchievements(List<Player> playersInThisGame)
        {
            List<AchievementTextWithIds> achievementsData = new AchievementsService(playersInThisGame).RecalculateAchievements(false);
            if (achievementsData.Count > 0)
            {
                Cache.Remove(DataAccess.PlayersAchievementsCacheName);
                Cache.Remove(DataAccess.AllAchievementsCacheName);

                StringBuilder sb = new StringBuilder("<br/><br/><b>Zdobyte osiągnięcia:</b><br/><ul class=\"grantedAchievements\">");
                achievementsData.ForEach(w => sb.Append("<li>" + w.Text + "</li>"));
                sb.Append("</ul>");

                litAchievements.Text = sb.ToString();
            }
        }