示例#1
0
        public void ConvertPouleToScore_PouleShouldOrderDrawsInCorrectOrder()
        {
            //Arrange
            List <Club> clubs = new List <Club> {
                testClub1, testClub2, testClub3, testClub4, testClub5, testClub6
            };
            List <Match> matches = new List <Match> {
                testMatch1, testMatch2, testMatch3, testMatch4, testMatch5,
                testMatch6, testMatch7, testMatch8, testMatch9, testMatch10, testMatch11,
                testMatch12, testMatch13, testMatch14, testMatch15
            };
            Poule poule = new Poule()
            {
                Clubs   = clubs,
                Matches = matches
            };

            //Act
            PouleScore result = PouleSimulator.ConvertPouleToScore(poule);

            //Assert
            Assert.Equal(testClub1, result.PouleScoreRows[0].Club);
            Assert.Equal(testClub2, result.PouleScoreRows[1].Club);
            Assert.Equal(testClub3, result.PouleScoreRows[2].Club);
            Assert.Equal(testClub4, result.PouleScoreRows[3].Club);
            Assert.Equal(testClub5, result.PouleScoreRows[4].Club);
            Assert.Equal(testClub6, result.PouleScoreRows[5].Club);
        }
示例#2
0
        public Poule Add(Poule poule)
        {
            _context.Poules.Add(poule);
            _context.SaveChanges();

            return(poule);
        }
示例#3
0
        public ActionResult ModifPouleForm(int idC, int id, string desc, string nom, int taille)
        {
            Poule p = new Poule(id, HttpUtility.HtmlEncode(desc), taille, HttpUtility.HtmlEncode(nom));

            Session["idC"] = idC;
            return(View(p));
        }
示例#4
0
        public async Task <ActionResult <Poule> > SimulatePoule()
        {
            Poule poule = new Poule();

            poule.Simulate(_context.Teams.ToList());
            return(poule);
        }
示例#5
0
        public IActionResult Index(int id)
        {
            Poule poule = _pouleRepository.Get(id);
            List <GameResultViewModel> gameResultViewModel = new List <GameResultViewModel>();

            foreach (Game game in poule.Games.Where(a => a.PouleId == id)
                     .GroupBy(a => a.HomeTeam)
                     .Select(x => x.FirstOrDefault())
                     .OrderBy(x => x.HomeTeam.Name))
            {
                gameResultViewModel.Add
                (
                    new GameResultViewModel()
                {
                    TeamId         = game.HomeTeamId,
                    TeamName       = game.HomeTeam.Name,
                    Points         = 0,
                    GoalsFor       = 0,
                    GoalsAgainst   = 0,
                    GoalDifference = 0
                }
                );
            }


            return(View(gameResultViewModel));
        }
示例#6
0
        public ActionResult ModifPoule(int id, string nom, string desc, int taille)
        {
            Poule   p  = new Poule(id, HttpUtility.HtmlEncode(desc), taille, HttpUtility.HtmlEncode(nom));
            DCPoule dc = new DCPoule();

            dc.Update(p);
            return(Redirect("~/Competition/InfoComp/" + Session["idC"]));
        }
示例#7
0
        public Poule Get(int id)
        {
            Poule poule = _context.Poules.Include(game => game.Games)
                          .ThenInclude(team => team.HomeTeam)
                          .Include(game => game.Games)
                          .ThenInclude(team => team.AwayTeam)
                          .ToList().FirstOrDefault(p => p.Id == id);

            return(poule);
        }
示例#8
0
        public async Task <IActionResult> TestPoule()
        {
            Poule testPoule = new Poule();

            var clubs = await _context.Club.ToListAsync();

            if (clubs.Count == 0)
            {
                Club testClub1 = new Club();
                testClub1.Name       = "Ajax";
                testClub1.Powerlevel = 80;

                testPoule.Clubs.Add(testClub1);

                Club testClub2 = new Club();
                testClub2.Name       = "Feyenoord";
                testClub2.Powerlevel = 80;

                testPoule.Clubs.Add(testClub2);

                Club testClub3 = new Club();
                testClub3.Name       = "PSV";
                testClub3.Powerlevel = 75;

                testPoule.Clubs.Add(testClub3);

                Club testClub4 = new Club();
                testClub4.Name       = "AZ";
                testClub4.Powerlevel = 75;

                testPoule.Clubs.Add(testClub4);
            }
            else
            {
                testPoule.Clubs = clubs;
            }

            var testPouleScore = PouleSimulator.SimulatePoule(testPoule);

            for (int i = 0; i < testPouleScore.PouleScoreRows.Count; i++)
            {
                ViewData[$"PouleScoreRow{i}"] = testPouleScore.PouleScoreRows[i];
            }

            for (int i = 0; i < testPoule.Matches.Count; i++)
            {
                ViewData[$"Match{i}"] = testPoule.Matches[i].ToString();
            }

            ViewData["ClubCount"]  = testPouleScore.PouleScoreRows.Count;
            ViewData["MatchCount"] = testPoule.Matches.Count;

            return(View());
        }
示例#9
0
        private int NewPouleId()
        {
            Poule poule = new Poule
            {
                DateTime = DateTime.Now
            };

            var newPoule = _pouleRepository.Add(poule);


            return(newPoule.Id);
        }
示例#10
0
        public void ConvertPouleToScore_PouleWithoutMatchesShouldReturnZeroSheet()
        {
            //Arrange
            List <Club> clubs = new List <Club> {
                testClub1, testClub2
            };
            Poule poule = new Poule(clubs);

            //Act
            PouleScore    result         = PouleSimulator.ConvertPouleToScore(poule);
            PouleScoreRow expectedResult = new PouleScoreRow(testClub1);

            //Assert
            Assert.Equal(expectedResult, result.PouleScoreRows[0]);
        }
示例#11
0
    // Start is called before the first frame update
    void Start()
    {
        firstPouleAlive = 0;
        pouleJustHit    = false;
        InitPos         = new Vector3[poulesTab.Length];
        int i = 0;

        foreach (GameObject go in poulesTab)
        {
            Poule p = go.GetComponent <Poule>();
            p.SetPoules = this;
            InitPos[i]  = go.transform.position;
            i++;
        }
    }
示例#12
0
        public void ConvertPouleToScore_OneClubShouldReturnNoMatchesPlayed()
        {
            //Arrange
            List <Club> clubs = new List <Club>()
            {
                testClub1
            };
            Poule poule = new Poule(clubs);

            //Act
            PouleScore result = PouleSimulator.SimulatePoule(poule);

            //Assert
            Assert.Equal(result.PouleScoreRows[0].MatchesPlayed, 0);
        }
示例#13
0
        public IActionResult Results(string id)
        {
            List <GameResultViewModel> gameResultViewModel = new List <GameResultViewModel>();

            Poule       poule = _pouleRepository.Get(Convert.ToInt32(id));
            List <Game> games = poule.Games.Where(a => a.PouleId == Convert.ToInt32(id)).ToList();

            foreach (Game g in games)
            {
                GenerateGameResult(g.Id);
            }



            foreach (Game g in games)
            {
                GenerateGameResult(g.Id);

                GameResultViewModel gameResult = gameResultViewModel.Find(a => a.TeamId == g.HomeTeamId);
                if (gameResult != null)
                {
                    gameResult.Points         += (g.HomeScore.Value > g.AwayScore.Value) ? 3 : (g.HomeScore.Value < g.AwayScore.Value) ? 0 : 1;
                    gameResult.GoalsFor       += g.HomeScore.Value;
                    gameResult.GoalsAgainst   += g.AwayScore.Value;
                    gameResult.GoalDifference += g.HomeScore.Value - g.AwayScore.Value;
                }
                else
                {
                    gameResultViewModel.Add(
                        new GameResultViewModel()
                    {
                        TeamId         = g.HomeTeamId,
                        TeamName       = g.HomeTeam.Name,
                        Points         = (g.HomeScore.Value > g.AwayScore.Value) ? 3 : (g.HomeScore.Value < g.AwayScore.Value) ? 0 : 1,
                        GoalsFor       = g.HomeScore.Value,
                        GoalsAgainst   = g.AwayScore.Value,
                        GoalDifference = g.HomeScore.Value - g.AwayScore.Value
                    }
                        );
                }
            }


            ViewBag.Games = games;

            return(View(gameResultViewModel.OrderByDescending(a => a.Points).ThenByDescending(a => a.GoalDifference).ThenByDescending(a => a.GoalsFor).ThenBy(a => a.GoalsAgainst).ToList()));
        }
示例#14
0
 public static void VerdeelSpelers(Poule poule)
 {
     for (int i = 0; i < poule.Spelers.Count; i++)
     {
         Speler speler = poule.Spelers[i];
         foreach (Team team in poule.Teams)
         {
             // Speler bij team zoeken
             if (speler.Team == team.TeamNaam)
             {
                 // Speler toevoegen aan team
                 team.BasisSpelers.Add(speler);
                 Console.WriteLine("Added: " + speler.Naam + " To: " + team.TeamNaam + " With Rating: " + speler.Rating);
             }
         }
     }
 }
        public static PouleScore ConvertPouleToScore(Poule poule)
        {
            PouleScore result = new PouleScore();

            foreach (Club c in poule.Clubs)
            {
                result.PouleScoreRows.Add(new PouleScoreRow(c, poule));
            }

            foreach (Match m in poule.Matches)
            {
                ApplyMatchToPouleScore(m, result);
            }

            result.PouleScoreRows.Sort();

            return(result);
        }
示例#16
0
        public bool Update(Poule p)
        {
            DBConnection con = DBConnection.Instance();

            if (con.IsConnect())
            {
                string query  = "UPDATE `Poule` SET `nomPoule` = '" + p.NomPoule + "', `taillePoule` = '" + p.Taille + "' WHERE `Poule`.`idSerie` =" + p.Id;
                var    cmd    = new MySqlCommand(query, con.Connection);
                var    reader = cmd.ExecuteReader();

                reader.Close();
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#17
0
        public ActionResult Play()
        {
            //Hier wordt een lijst aangemaakt die alleen het type Team accepteert
            //Vervolgens worden de teams uit de database opgehaald en in een lijstje gepropt.
            List <Team> t = new List <Team>();

            t = context.Teams.ToList();

            Queue <Team> matchups = TeamMatchUps(t);

            List <Game>            games        = new List <Game>();
            Dictionary <Team, int> PouleResults = new Dictionary <Team, int>();

            //Poule is voor nu nog statisch, want de opdracht is om wedstrijden te simuleren
            Poule p = new Poule
            {
                Name         = "E",
                PouleResults = PouleResults
            };

            for (int i = 0; i < (t.Count * 1.5); i++)
            {
                //Hier wordt een game aangemaakt in een for-loop, de team.count * 1.5 zorgt ervoor dat alle mogelijke match-ups worden bereikt
                var game = new Game
                {
                    Home  = matchups.Dequeue(),
                    Away  = matchups.Dequeue(),
                    Date  = DateTime.Now,
                    Poule = p
                };

                //Hieronder voegen we de games toe aan een lijst en sturen die door naar de view
                games.Add(game);
                game.simGame();

                //Hieronder worden de games toegevoegd aan de entiteit in de database context en vervolgens worden ze opgeslagen in de database
                context.Games.Add(game);
                context.SaveChanges();
            }
            ViewBag.results = PouleResults;

            return(View(games));
        }
示例#18
0
        public IActionResult Detail(int id)
        {
            Poule poule = _context.Poules
                          .Include(p => p.Teams)
                          .Where(p => p.ID == id).SingleOrDefault();

            List <Wedstrijd> wedstrijden = _context.Wedstrijden
                                           .Include(w => w.TeamThuis)
                                           .Include(w => w.TeamUit)
                                           .OrderBy(w => w.Datum)
                                           .Where(w => w.TeamThuis.PouleID == id)
                                           .Where(w => w.KnockoutID == null)
                                           .ToList();

            DetailViewModel datailViewModel = new DetailViewModel
            {
                Poule       = poule,
                Wedstrijden = wedstrijden
            };

            return(View(datailViewModel));
        }
        public static PouleScore SimulatePoule(Poule poule)
        {
            int amountOfClubs = poule.Clubs.Count;

            // For each club, simulate matches with all clubs below them on the list.
            for (int i = 0; i < amountOfClubs; i++)
            {
                for (int j = i + 1; j < amountOfClubs; j++)
                {
                    Match simulatedMatch = MatchSimulator.SimulateMatch(poule.Clubs[i], poule.Clubs[j]);
                    Console.WriteLine($"Match simulated: {simulatedMatch.HomeClub.Name} vs. {simulatedMatch.AwayClub.Name}, Final score is: {simulatedMatch.HomeGoals}-{simulatedMatch.AwayGoals}");
                    poule.Matches.Add(simulatedMatch);
                }
            }

            // Convert the data of the matches to the poulescore
            var matches = poule.Matches;

            // Return the Poulscore

            return(ConvertPouleToScore(poule));
        }
示例#20
0
 public MainMenu()
 {
     poule = new Poule(GenerateTeams());
 }
示例#21
0
 public TeamPlacement(Poule poule, Team team)
 {
     Poule          = poule;
     Team           = team;
     team.Placement = this;
 }