Ejemplo n.º 1
0
        public IGenerateTeamsService Create(GenerateTeamsStrategy strategy)
        {
            switch (strategy)
            {
            case (GenerateTeamsStrategy.Random):
                return(new RandomTeamsGenerator());

            default:
                throw new NotImplementedException();
            }
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
        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)));
        }
Ejemplo n.º 5
0
 private TourForward(GenerateTeamsStrategy generateTeamsStrategy)
 {
     GenerateTeamsStrategy = generateTeamsStrategy;
 }