public static async Task <List <BetaCardData> > LoadBetaCardsList(ICardsDataDownloader cardsDataDownloader, IAdminConfig adminConfig) { if (betaCardsList == null) { string betaToOfficialCardsData = await cardsDataDownloader.DownloadCardsFromWebsite(adminConfig.BetaToOfficialCardApiURL); JArray betaCardsListJArray = JsonConvert.DeserializeObject <JArray>(betaToOfficialCardsData); betaCardsList = new List <BetaCardData>(); lock (betaCardsList) { foreach (JObject jObject in betaCardsListJArray) { int officialId = jObject.Value <int>("ocode"); int betaId = jObject.Value <int>("ucode"); string name = jObject.Value <string>("name"); if (officialId > 0 && betaId > 0) { betaCardsList.Add(new BetaCardData(name, officialId, betaId)); } } } } return(betaCardsList); }
public async Task DownloadCardsFromWebsite_SourceShouldBeAvailable_WeGetDataAsStringLongerThen0() { _downloader = new CardsDataDownloader(); string result = await _downloader.DownloadCardsFromWebsite("https://db.ygoprodeck.com/api/v3/cardinfo.php"); Assert.NotZero(result.Count()); }
/// <summary> /// Initializes a new instance of the <see cref="CardsDataToCardsAndArchetypesUpdater"/> class. /// </summary> /// <param name="cardsDataDownloader">The cards data downloader.</param> /// <param name="cardBuilder">The card builder.</param> /// <param name="db">The database.</param> public CardsDataToCardsAndArchetypesUpdater( ICardsDataDownloader cardsDataDownloader, ICardBuilder cardBuilder, YgoProAnalyticsDatabase db) { _cardsDataDownloader = cardsDataDownloader; _cardBuilder = cardBuilder; _db = db; }
public BetaCardToOfficialConverter(YgoProAnalyticsDatabase db, IAdminConfig adminConfig, ICardsDataDownloader cardsDataDownloader) { _db = db; _adminConfig = adminConfig; _cardsDataDownloader = cardsDataDownloader; }
/// <summary>Initializes a new instance of the <see cref="YDKToDecklistConverter"/> class.</summary> /// <param name="db">The database.</param> public YDKToDecklistConverter(YgoProAnalyticsDatabase db, ICardsDataDownloader cardsDataDownloader, IAdminConfig adminConfig) { cards = db.Cards.ToList(); _betaCardDatas = BetaCardToOfficialConverter.LoadBetaCardsList(cardsDataDownloader, adminConfig).Result; }
public void DownloadCardsFromWebsite_WrongUrlIsGiven_WeGetWebException() { _downloader = new CardsDataDownloader(); Assert.ThrowsAsync <System.Net.WebException>(async() => await _downloader.DownloadCardsFromWebsite("Wronghttps://db.ygoprodeck.com/api/v3/cardinfo.php")); }