Exemple #1
0
        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);
        }
Exemple #2
0
        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;
 }
Exemple #4
0
 public BetaCardToOfficialConverter(YgoProAnalyticsDatabase db, IAdminConfig adminConfig, ICardsDataDownloader cardsDataDownloader)
 {
     _db                  = db;
     _adminConfig         = adminConfig;
     _cardsDataDownloader = cardsDataDownloader;
 }
Exemple #5
0
 /// <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;
 }
Exemple #6
0
        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"));
        }