Beispiel #1
0
        public async Task EnsureSeedData()
        {
            _context.Database.EnsureCreated();

            //_context.Comics.RemoveRange(_context.Comics);
            //_context.SaveChanges();

            var latestComicNumber = GetLatestComic();

            //Get all of the comics
            for (var i = 1; i < latestComicNumber; i++)
            {
                if (i != 404)
                {
                    //get json
                    using (WebClient wc = new WebClient())
                    {
                        var json = wc.DownloadString("https://xkcd.com/" + i + "/info.0.json");

                        Comic deserializedComic = JsonConvert.DeserializeObject <Comic>(json);

                        deserializedComic.Id = Guid.NewGuid();

                        _context.Add(deserializedComic);
                    }
                    await _context.SaveChangesAsync();
                }
            }
        }
Beispiel #2
0
        public async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            WebClient getNew              = new WebClient();
            var       newComic            = getNew.DownloadString("http://xkcd.com/info.0.json");
            Comic     deserializeNewComic = JsonConvert.DeserializeObject <Comic>(newComic);

            var newestComicInDb = _context.Comics.Max(n => n.Num);

            if (deserializeNewComic.Num > newestComicInDb)
            {
                AddNewComic(deserializeNewComic);
            }
            await _context.SaveChangesAsync(cancellationToken);
        }