public IGenerateTeamsService Create(GenerateTeamsStrategy strategy) { switch (strategy) { case (GenerateTeamsStrategy.Random): return(new RandomTeamsGenerator()); default: throw new NotImplementedException(); } }
public TourRegistrationClosed( int tourId, int leagueId, int?playersInTeam, int?teamsInTour, int[] pid, GenerateTeamsStrategy generateTeamsStrategy) { TourId = tourId; LeagueId = leagueId; PlayersInTeam = playersInTeam; TeamsInTour = teamsInTour; Pid = pid; GenerateTeamsStrategy = generateTeamsStrategy; }
public TourForward( int leagueId, int seasonId, int?tourId, string date, int?playersInTeam, int?teamsInTour, GenerateTeamsStrategy generateTeamsStrategy) { LeagueId = leagueId; SeasonId = seasonId; TourId = tourId; Date = date; PlayersInTeam = playersInTeam; TeamsInTour = teamsInTour; GenerateTeamsStrategy = generateTeamsStrategy; }
private int[][] GenerateTeams( IEnumerable <PlayerWithLeagueStatusDto> playersWithLeagueStatus, List <PlayerWithRateDto> playersWithRate, int playersInTeam, int teamsInTour, GenerateTeamsStrategy strategy) { var playerInfosForGenerate = new List <PlayerInfoForGenerate>(); foreach (var player in playersWithLeagueStatus.Where(x => x.PlayerLeagueJoinStatus == PlayerLeagueJoinStatus.Joined)) { var rate = playersWithRate.Single(x => x.Id == player.Id).PlayerLeagueRates.First().Rate; playerInfosForGenerate.Add(new PlayerInfoForGenerate(player.Id, rate, player.LeaguePlayerPriority)); } return(_generateTeamsServiceFactory .Create(strategy) .Generate(new InfoForGenerate(teamsInTour, playersInTeam, playerInfosForGenerate))); }
private TourForward(GenerateTeamsStrategy generateTeamsStrategy) { GenerateTeamsStrategy = generateTeamsStrategy; }