예제 #1
0
        public async Task <Card> Add(Card newCard)
        {
            _context.Card.Add(newCard);

            await _context.SaveChangesAsync();

            return(newCard);
        }
        public async Task <Archetype> Add(Archetype archetype)
        {
            await _dbContext.Archetype.AddAsync(archetype);

            await _dbContext.SaveChangesAsync();

            return(archetype);
        }
예제 #3
0
        public async Task <Banlist> Add(Banlist banlist)
        {
            banlist.Created     =
                banlist.Updated = DateTime.UtcNow;

            _context.Banlist.Add(banlist);

            await _context.SaveChangesAsync();

            return(banlist);
        }
예제 #4
0
        public async Task <IEnumerable <ArchetypeCard> > Update(long archetypeId, IEnumerable <string> cards)
        {
            var archetypeCards = await _dbContext.ArchetypeCard.Where(ac => ac.ArchetypeId == archetypeId).ToArrayAsync();

            if (archetypeCards.Any())
            {
                _dbContext.ArchetypeCard.RemoveRange(archetypeCards);
                await _dbContext.SaveChangesAsync();
            }

            var tvp = new TableValuedParameterBuilder
                      (
                "tvp_ArchetypeCardsByCardName",
                new SqlMetaData("ArchetypeId", SqlDbType.BigInt), new SqlMetaData("CardName", SqlDbType.NVarChar, 255)
                      );

            foreach (var card in cards)
            {
                tvp.AddRow(archetypeId, card);
            }

            var cardsParameter = tvp.CreateParameter("@TvpArchetypeCards");

            return(await _dbContext
                   .ArchetypeCard
                   .FromSql("EXECUTE usp_AddCardsToArchetype @TvpArchetypeCards", cardsParameter)
                   .ToListAsync());
        }
        public async Task <ICollection <BanlistCard> > Update(long banlistId, IList <BanlistCard> banlistCards)
        {
            var existingBanlistCards = _context.BanlistCard.Select(bl => bl).Where(bl => bl.BanlistId == banlistId).ToList();

            if (existingBanlistCards.Any())
            {
                _context.BanlistCard.RemoveRange(existingBanlistCards);
                await _context.SaveChangesAsync();
            }

            await _context.BanlistCard.AddRangeAsync(banlistCards);

            await _context.SaveChangesAsync();

            return(banlistCards);
        }
        public async Task DeleteByCardId(long cardId)
        {
            var rulingSections = await _context
                                 .RulingSection
                                 .Include(t => t.Card)
                                 .Include(t => t.Ruling)
                                 .Where(ts => ts.CardId == cardId)
                                 .ToListAsync();

            if (rulingSections.Any())
            {
                _context.Ruling.RemoveRange(rulingSections.SelectMany(t => t.Ruling));
                _context.RulingSection.RemoveRange(rulingSections);

                await _context.SaveChangesAsync();
            }
        }
예제 #7
0
        public async Task <Category> Add(Category category)
        {
            await _dbContext.Category.AddAsync(category);

            await _dbContext.SaveChangesAsync();

            return(category);
        }