public string InsertPreconstructedDeckCardsInDb(string url, PreconstructedDeckImporter preconstructedDeckImporter) { string html = _webAccess.GetHtml(url); DeckInfo deckInfo = preconstructedDeckImporter.ParseDeckPage(html); if (deckInfo == null) { return(null); } MagicDatabase.InsertNewPreconstructedDeck(deckInfo.IdEdition, deckInfo.Name, url); IPreconstructedDeck preconstructedDeck = MagicDatabase.GetPreconstructedDeck(deckInfo.IdEdition, deckInfo.Name); foreach (DeckCardInfo deckCardInfo in deckInfo.Cards) { if (deckCardInfo.NeedToCreate) { int idGatherer = MagicDatabase.InsertNewCardEditionWithFakeGathererId(deckCardInfo.IdEdition, deckCardInfo.IdCard, deckCardInfo.IdRarity, deckCardInfo.PictureUrl); MagicDatabase.InsertOrUpdatePreconstructedDeckCardEdition(preconstructedDeck.Id, idGatherer, deckCardInfo.Number); } else { MagicDatabase.InsertOrUpdatePreconstructedDeckCardEdition(preconstructedDeck.Id, deckCardInfo.IdGatherer, deckCardInfo.Number); } } return(null); }
public IReadOnlyList <KeyValuePair <string, object> > GetPreconstructedDecksUrls(PreconstructedDeckImporter preconstructedDeckImporter) { string html = _webAccess.GetHtml(preconstructedDeckImporter.GetRootUrl()); return(preconstructedDeckImporter.GetDeckUrls(html).Select(s => new KeyValuePair <string, object>(s, null)).ToList()); }
public AutoDownloadPreconstructedDeckViewModel() : base("Download new preconstructed decks") { _preconstructedDeckImporter = new PreconstructedDeckImporter(GetExtraInfo); }