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(); } }
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(); }