public async Task <ArticleTaskResult> ProcessItem(UnexpandedArticle item) { var response = new ArticleTaskResult { Article = item }; var card = await _cardService.CardByName(item.Title); if (card != null) { var triviaSections = new List <CardTriviaSection>(); var articleCardTrivia = await _wikiArticle.Simple(item.Id); foreach (var cardTriviaSection in articleCardTrivia.Sections) { if (cardTriviaSection.Title.Equals("References", StringComparison.OrdinalIgnoreCase)) { continue; } var rulingSection = new CardTriviaSection { Name = cardTriviaSection.Title, Trivia = SectionHelper.GetSectionContentList(cardTriviaSection) }; triviaSections.Add(rulingSection); } await _cardTriviaService.Update(card.Id, triviaSections); } return(response); }
public async Task <CardSectionDataTaskResult <CardSectionMessage> > Process(CardSectionMessage cardSectionData) { var cardSectionDataTaskResult = new CardSectionDataTaskResult <CardSectionMessage> { CardSectionData = cardSectionData }; var card = await _cardService.CardByName(cardSectionData.Name); if (card != null) { await _cardTriviaService.DeleteByCardId(card.Id); var triviaSections = new List <TriviaSection>(); foreach (var cardSection in cardSectionData.CardSections) { var triviaSection = new TriviaSection { CardId = card.Id, Name = cardSection.Name, Created = DateTime.UtcNow, Updated = DateTime.UtcNow }; foreach (var trivia in cardSection.ContentList) { triviaSection.Trivia.Add(new Trivia { TriviaSection = triviaSection, Text = trivia, Created = DateTime.UtcNow, Updated = DateTime.UtcNow }); } triviaSections.Add(triviaSection); } if (triviaSections.Any()) { await _cardTriviaService.Update(triviaSections); } } else { cardSectionDataTaskResult.Errors.Add($"Card Trivia: card '{cardSectionData.Name}' not found."); } return(cardSectionDataTaskResult); }