public async Task DeleteBadges(int nrOfBadges, BadgeType badgeType, Hero hero)
        {
            if (!HasBadgeByType(BadgeType.TierCategory5, hero))
            {
                IEnumerable <HeroBadge> badgesToDelete = hero.Badges.Where(b => b.Badge.Tier == badgeType).Take(nrOfBadges);

                _context.RemoveRange(badgesToDelete);
                await _context.SaveChangesAsync();
            }
        }
Beispiel #2
0
        public async Task DeleteBattle(int id)
        {
            Battle battle = _context.Battles.Where(h => h.Id == id).FirstOrDefault();

            if (battle == null)
            {
                throw new EntityNotFoundException($"There is no battle with the given id: {id}");
            }

            if (battle.Heroes != null)
            {
                var heroBattles = _context.HeroBattles
                                  .Where(hb => hb.HeroId == battle.InitiatorId)
                                  .AsAsyncEnumerable();

                _context.RemoveRange(heroBattles);
                await _context.SaveChangesAsync();
            }

            _context.Battles.Remove(battle);
            await _context.SaveChangesAsync();
        }