/// <summary> /// Gets a comic by ID /// </summary> /// <param name="id">Comic ID</param> /// <returns>Requested comic</returns> public static Comic GetComic(int id) { Comic comic = XkcdDatabase.GetComic(id); if (comic != null) { return(comic); } if (ComicDictionary.Keys.Contains(id)) { return(GetComic(ComicDictionary[id])); } return(null); }
/// <summary> /// Gets a comic from a comic archive entry /// </summary> /// <param name="comicArchiveEntry">Comic archive entry</param> /// <returns>Comic object</returns> public static Comic GetComic(ComicArchiveEntry comicArchiveEntry) { Comic comic = XkcdDatabase.GetComic(comicArchiveEntry.Id); if (comic != null) { return(comic); } var permaLink = $"https://xkcd.com/{comicArchiveEntry.Id}/"; var web = new HtmlWeb(); HtmlDocument doc = web.Load(permaLink); return(GetComic(comicArchiveEntry, permaLink, doc)); }