Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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));
        }