Exemple #1
0
        public void SyncSets()
        {
            var excludedTypes = new List <string>
            {
                "funny",
                "token"
            };
            var apiSets = _scryfall.GetSets().Where(s => !excludedTypes.Contains(s.SetType)).ToList();

            System.Console.WriteLine($"found {apiSets.Count} sets from API");
            var dbSets = _db.Sets().ToList();

            System.Console.WriteLine($"found {dbSets.Count} sets from DB");
            var setsToAdd = apiSets.Where(a => !dbSets.Any(d => d.Id == a.Id));

            foreach (var newSet in setsToAdd)
            {
                System.Console.WriteLine($"Attempting to add set '{newSet.Name}'");
                _db.AddSet(SetMapper.SharedToDb(newSet));
            }
        }
Exemple #2
0
        public void SyncCards()
        {
            var sets = _db.Sets().OrderBy(s => s.ReleasedAt);

            foreach (var dbSet in sets)
            {
                if (dbSet.Completed == false)
                {
                    System.Console.WriteLine($"attempting to sync cards for the set {dbSet.Name}");
                    var cards = _scryfall.GetBySet(dbSet.Code).ToList();
                    System.Console.WriteLine($"syncing {dbSet.CardCount} cards for the set {dbSet.Name}");
                    foreach (var card in cards)
                    {
                        _db.AddCard(CardMapper.SharedToDb(card), SetMapper.SharedToDb(dbSet));
                    }
                    _db.CompleteSet(dbSet);
                }
                else
                {
                    System.Console.WriteLine($"Skipping the set {dbSet.Name}");
                }
            }
        }