public async Task <bool> DeletePlayerWithRanks(int playerId) { var ranksForPlayer = await _context.PlayerRanks.Where(pr => pr.Player.Id == playerId).ToListAsync(); foreach (var rank in ranksForPlayer) { await _playerRankRepository.DeletePlayerRank(rank.Id); } var player = await _context.Players.FirstOrDefaultAsync(p => p.Id == playerId); var playerDeleted = _context.Remove(player); await _context.SaveChangesAsync(); return(playerDeleted == null ? false : true); }