private void OpenAchievement(AchievementTickets achievement) { var url = "http://retroachievements.org/Achievement/" + achievement.AchievementId; Process.Start(url); }
private static int GetPageTickets(Dictionary <int, GameTickets> games, Dictionary <int, AchievementTickets> tickets, string ticketsPage) { int pageTickets; var tokenizer = Tokenizer.CreateTokenizer(ticketsPage); pageTickets = 0; do { tokenizer.ReadTo("<a href='/ticketmanager.php?i="); if (tokenizer.NextChar == '\0') { break; } tokenizer.ReadTo("'>"); tokenizer.Advance(2); if (tokenizer.Match("Show")) { continue; } var ticketId = Int32.Parse(tokenizer.ReadNumber().ToString()); tokenizer.ReadTo("<a href='/Achievement/"); tokenizer.Advance(22); var achievementId = Int32.Parse(tokenizer.ReadNumber().ToString()); tokenizer.ReadTo("/>"); tokenizer.Advance(2); var achievementName = tokenizer.ReadTo("</a>"); tokenizer.ReadTo("<a href='/Game/"); tokenizer.Advance(15); var gameId = Int32.Parse(tokenizer.ReadNumber().ToString()); tokenizer.ReadTo("/>"); tokenizer.Advance(2); var gameName = tokenizer.ReadTo("</a>"); GameTickets gameTickets; if (!games.TryGetValue(gameId, out gameTickets)) { gameTickets = new GameTickets { GameId = gameId, GameName = gameName.ToString() }; games[gameId] = gameTickets; } AchievementTickets achievementTickets; if (!tickets.TryGetValue(achievementId, out achievementTickets)) { achievementTickets = new AchievementTickets { AchievementId = achievementId, Game = gameTickets, AchievementName = achievementName.ToString() }; tickets[achievementId] = achievementTickets; } achievementTickets.OpenTickets.Add(ticketId); gameTickets.OpenTickets++; ++pageTickets; } while (true); return(pageTickets); }