public static List <Matchup> GenerateMatchupByCityClub(Tournament tournament, int roundNumber) { var pairings = MatchmakerCityClubHelper.MakeMatchmaking(tournament.Players); HashSet <Player> matchedPlayers = new HashSet <Player>(); var matchups = new List <Matchup>(); foreach (var pairing in pairings) { if (!matchedPlayers.Contains(pairing.Key)) { matchups.Add(new Matchup(roundNumber, pairing.Key.Id, pairing.Value.Id, tournament.Config.GetTagsIds())); matchedPlayers.Add(pairing.Key); matchedPlayers.Add(pairing.Value); } } return(matchups); }