Beispiel #1
0
        public void UpdateElo()
        {
            IDatabase  database = DalFactory.CreateDatabase();
            IPlayerDao dao      = DalFactory.CreatePlayerDao(database);

            var    plist = dao.FindAll();
            Player p1    = new Player();
            Player p2    = new Player();
            Player p3    = new Player();
            Player p4    = new Player();
            int    i     = 0;

            Assert.IsTrue(plist.Count >= 4);
            foreach (Player pl in plist)
            {
                switch (i)
                {
                case 1:
                    p1 = pl;
                    break;

                case 2:
                    p2 = pl;
                    break;

                case 3:
                    p3 = pl;
                    break;

                case 4:
                    p4 = pl;
                    break;
                }
                i++;
            }

            int p1S = p1.Skills;
            int p2S = p2.Skills;
            int p3S = p3.Skills;
            int p4S = p4.Skills;

            BLPlayer.UpdateElo(p1, p2, p3, p4);

            Assert.IsTrue(p1.Skills > p1S);
            Assert.IsTrue(p2.Skills > p2S);
            Assert.IsTrue(p3.Skills < p3S);
            Assert.IsTrue(p4.Skills < p4S);
        }
        public void Update(Match match)
        {
            //if (Authentication.getInstance().isAuthenticateWithHeader(Request))
            //{
            IMatchDao  MatchDao  = DalFactory.CreateMatchDao(database);
            IPlayerDao PlayerDao = DalFactory.CreatePlayerDao(database);


            if (match.Finished)
            {
                Player w1;
                Player w2;
                Player v1;
                Player v2;

                if (match.ResultPointsPlayer1 > match.ResultPointsPlayer2)
                {
                    w1 = PlayerDao.FindById(match.Team1Player1);
                    w2 = PlayerDao.FindById(match.Team1Player2);
                    v1 = PlayerDao.FindById(match.Team2Player1);
                    v2 = PlayerDao.FindById(match.Team2Player2);
                }
                else
                {
                    w1 = PlayerDao.FindById(match.Team2Player1);
                    w2 = PlayerDao.FindById(match.Team2Player2);
                    v1 = PlayerDao.FindById(match.Team1Player1);
                    v2 = PlayerDao.FindById(match.Team1Player2);
                }
                BLPlayer.UpdateElo(w1, w2, v1, v2);

                BLStatistic.Insert(w1.ID, w1.Skills);
                BLStatistic.Insert(w2.ID, w2.Skills);
                BLStatistic.Insert(v1.ID, v1.Skills);
                BLStatistic.Insert(v2.ID, v2.Skills);

                PlayerDao.Update(w1);
                PlayerDao.Update(w2);
                PlayerDao.Update(v1);
                PlayerDao.Update(v2);
            }
            MatchDao.Update(match);
            //}
        }