Example #1
0
        public async Task <ArticleBatchTaskResult> Process(BanlistType banlistType)
        {
            var response = new ArticleBatchTaskResult();

            const string baseBanlistUrl       = "http://yugioh.wikia.com/wiki/July_1999_Lists";
            var          banListArticleIds    = _banlistUrlDataSource.GetBanlists(banlistType, baseBanlistUrl);
            var          articleItemProcessor = _articleHandler.Handler(ArticleCategory.ForbiddenAndLimited);

            foreach (var banListArticleId in banListArticleIds)
            {
                _logger.Info($"{banlistType.ToString().ToUpper()} banlists for the year: {banListArticleId.Key}");

                foreach (var articleId in banListArticleId.Value)
                {
                    _logger.Info($"{banlistType.ToString().ToUpper()} banlist articleId: {articleId}");

                    var articleResult = await articleItemProcessor.ProcessItem(new UnexpandedArticle { Id = articleId });

                    if (articleResult.IsSuccessfullyProcessed)
                    {
                        response.Processed += 1;
                    }
                }
            }

            return(response);
        }
Example #2
0
        public Task <ArticleTaskResult> Process(string category, UnexpandedArticle article)
        {
            var handler = _articleHandler.Handler(category);

            return(handler.ProcessItem(article));
        }