//
        // GET: /Statistics/

        private PlayerStatisticsViewModel SortData(PlayerStatisticsViewModel model)
        {
            string sortField = Request.QueryString["SorteerOp"];
            string sortDir   = Request.QueryString["Richting"];

            if (!String.IsNullOrEmpty(sortField))
            {
                if (String.IsNullOrEmpty(sortDir))
                {
                    sortDir = "Oplopend";
                }

                if (sortField.Equals("Afdeling"))
                {
                    if (sortDir.Equals("Oplopend"))
                    {
                        model.regions = model.regions.OrderBy(id => id).ToList();
                    }
                    else
                    {
                        model.regions = model.regions.OrderByDescending(id => id).ToList();
                    }
                }

                if (sortField.StartsWith("vj") || sortField.StartsWith("nj"))
                {
                    int seasonPeriod = 1;
                    if (sortField.StartsWith("nj"))
                    {
                        seasonPeriod = 2;
                    }

                    int seasonYear = Convert.ToInt32(sortField.Substring(2));

                    var seasonResults = model.playersPerRegionPerSeason.Where(s => s.seasonYear == seasonYear && s.seasonPeriod == seasonPeriod);

                    if (sortDir.Equals("Oplopend"))
                    {
                        model.regions = seasonResults.OrderBy(s => s.playerCount).Select(r => r.regionName).ToList();
                    }
                    else
                    {
                        model.regions = seasonResults.OrderByDescending(s => s.playerCount).Select(r => r.regionName).ToList();
                    }

                    var regions = model.playersPerRegionPerSeason.Select(r => r.regionName).Distinct().OrderBy(regionName => regionName).ToList();

                    foreach (var region in regions)
                    {
                        if (!model.regions.Contains(region))
                        {
                            model.regions.Add(region);
                        }
                    }
                }
            }

            return(model);
        }
Example #2
0
        public PlayerStatisticsViewModel GetAdultPlayersStatistics()
        {
            var model = new PlayerStatisticsViewModel();

            model.playersPerRegionPerSeason = Database.Instance.statisticsRepository.GetPlayersPerRegionPerSeasonPerCategory(1);
            model.playersPerSeason          = Database.Instance.statisticsRepository.GetPlayersPerSeasonPerCategory(1);

            return(GetPlayerStatistics(model));
        }
        public void WhenNoGames_ShowsEmptyList()
        {
            var emptyPlayersList = new List <GetPlayerStatisticsDto>();

            _mockQueryService.Setup(x => x.GetPlayerStatistics()).Returns(emptyPlayersList);

            _sut = CreateSUT();

            Assert.AreEqual(0, _sut.Players.Count());
        }
        public void WhenClickGames_ShowGamesListView()
        {
            var mockView = new Mock <IViewGamesListView>();

            Resolver.Container.RegisterInstance <IViewGamesListView>(mockView.Object);

            _sut = CreateSUT();

            _sut.GamesCommand.Execute(null);

            _mockMainWindow.Verify(x => x.ShowView(mockView.Object));
        }
        public void WhenEmptyPlayerList_DoubleClickDoesNothing()
        {
            _mockQueryService.Setup(q => q.GetPlayerStatistics())
            .Returns(new List <GetPlayerStatisticsDto>());

            _mockMainWindow.Setup(w => w.ShowView(It.IsAny <object>()))
            .Throws(new InvalidOperationException());

            _sut = CreateSUT();

            _sut.SelectedPlayerIndex = 0;
            _sut.PlayerDoubleClickCommand.Execute(null);
        }
        public void ThreePlayers_ShowsInOrder()
        {
            var threePlayerList = new List <GetPlayerStatisticsDto>();

            threePlayerList.Add(new GetPlayerStatisticsDto()
            {
                PlayerName    = "Brad Pitt",
                GamesPlayed   = 3,
                Winnings      = 120,
                PayIn         = 30,
                Profit        = 90,
                ProfitPerGame = 30
            });

            threePlayerList.Add(new GetPlayerStatisticsDto()
            {
                PlayerName    = "Angelina Jolie",
                GamesPlayed   = 1,
                Winnings      = 0,
                PayIn         = 20,
                Profit        = -20,
                ProfitPerGame = -20
            });

            threePlayerList.Add(new GetPlayerStatisticsDto()
            {
                PlayerName    = "Keira Knightly",
                GamesPlayed   = 4,
                Winnings      = 710,
                PayIn         = 70,
                Profit        = 640,
                ProfitPerGame = 128
            });

            _mockQueryService.Setup(x => x.GetPlayerStatistics()).Returns(threePlayerList);

            _sut = CreateSUT();

            Assert.AreEqual(3, _sut.Players.Count());
            Assert.IsTrue(_sut.Players.ElementAt(0).Contains("Keira"));
            Assert.IsTrue(_sut.Players.ElementAt(1).Contains("Brad"));
            Assert.IsTrue(_sut.Players.ElementAt(2).Contains("Angelina"));
        }
        public void OnePlayer_ShowsProperFormat()
        {
            var onePlayerList = new List <GetPlayerStatisticsDto>();

            onePlayerList.Add(new GetPlayerStatisticsDto()
            {
                PlayerName    = "Homer Simpson",
                GamesPlayed   = 3,
                Winnings      = 120,
                PayIn         = 30,
                Profit        = 90,
                ProfitPerGame = 30
            });

            _mockQueryService.Setup(x => x.GetPlayerStatistics()).Returns(onePlayerList);

            _sut = CreateSUT();

            Assert.AreEqual(1, _sut.Players.Count());
            Assert.AreEqual("Homer Simpson - Games Played: 3 - Winnings: $120 - Pay In: $30 - Profit: $90 - Profit Per Game: $30", _sut.Players.First());
        }
Example #8
0
        private PlayerStatisticsViewModel GetPlayerStatistics(PlayerStatisticsViewModel model)
        {
            model.regions = model.playersPerRegionPerSeason.Select(r => r.regionName).Distinct().OrderBy(regionName => regionName).ToList();

            model.headings = new List <SortOptions>();
            model.headings.Add(new SortOptions("Afdeling", "Afdeling", _defaultSortOrder: "Aflopend"));

            int seasonYear    = model.playersPerSeason[0].seasonYear;
            int seasonYearEnd = model.playersPerSeason[model.playersPerSeason.Count - 1].seasonYear;

            while (seasonYear <= seasonYearEnd)
            {
                model.headings.Add(new SortOptions("vj", "vj" + seasonYear, _defaultSortOrder: "Aflopend", _attributes: "class='voorjaar'"));
                model.headings.Add(new SortOptions("nj", "nj" + seasonYear, _defaultSortOrder: "Aflopend", _attributes: "class='najaar'"));

                seasonYear++;
            }

            model.headings.Add(new SortOptions("Afdeling", "Afdeling", _defaultSortOrder: "Aflopend"));

            return(model);
        }
Example #9
0
        public List <PlayerStatisticsViewModel> GetPlayerStatistics(int orderType, int time)
        {
            List <PlayerStatisticsData>      playerStatisticsData = _statisticsDal.GetPlayerStatistics(GetPlayerStatOrderType(orderType), GetPlayerStatTimeFilter(time));
            List <PlayerStatisticsViewModel> vm = new List <PlayerStatisticsViewModel>();

            foreach (PlayerStatisticsData data in playerStatisticsData)
            {
                PlayerStatisticsViewModel vmInner = new PlayerStatisticsViewModel
                {
                    PlayerName      = data.PlayerName,
                    WinRatio        = $"{data.WinRate:0.0%}",
                    WinRatioPBColor = data.Wins < data.Losses || data.Wins == 0 ? "progressbar red" : "progressbar blue",
                    AvgKDA          = data.KDA.ToString("0.00"),
                    AvgDamageDealt  = $"{data.AvgDamageDealt:n0}",
                    AvgDamageTaken  = $"{data.AvgDamageTaken:n0}",
                    AvgGoldSpent    = $"{data.AvgGoldSpent:n0}",
                    KDAColor        = CSSColorizer.GetKDAColor(data.KDA)
                };
                vm.Add(vmInner);
            }
            return(vm);
        }
        public void DoubleClickPlayer_ShowsPlayerGamesView()
        {
            var mockView = new Mock <IPlayerGamesView>();

            Resolver.Container.RegisterInstance <IPlayerGamesView>(mockView.Object);

            var playerName  = "Daffy Duck";
            var playersList = new List <GetPlayerStatisticsDto>();

            playersList.Add(new GetPlayerStatisticsDto()
            {
                PlayerName = playerName
            });

            _mockQueryService.Setup(q => q.GetPlayerStatistics()).Returns(playersList);

            _sut = CreateSUT();

            _sut.SelectedPlayerIndex = 0;
            _sut.PlayerDoubleClickCommand.Execute(null);

            _mockMainWindow.Verify(x => x.ShowView(mockView.Object));
            mockView.VerifySet(x => x.PlayerName = playerName);
        }
        // GET: Statistics
        public ActionResult Index()
        {
            var model = new TeamsPlayersStatisticsViewModel();

            model.Teams   = new List <TeamStatisticsViewModel>();
            model.Players = new List <PlayerStatisticsViewModel>();
            var teams = teamRepository.GetAll();

            teams.ForEach(t =>
            {
                int counterWins   = 0;
                int counterDraws  = 0;
                int counterLosses = 0;
                var team          = new TeamStatisticsViewModel();
                team.Name         = t.Name;
                t.Matches.Where(m => m.Status == "Finished").ToList().ForEach(m =>
                {
                    if (m.HostTeamResult > m.GuestTeamResult)
                    {
                        counterWins++;
                    }
                    else if (m.HostTeamResult < m.GuestTeamResult)
                    {
                        counterLosses++;
                    }
                    else
                    {
                        counterDraws++;
                    }
                });
                t.Matches1.Where(m => m.Status == "Finished").ToList().ForEach(m =>
                {
                    if (m.HostTeamResult < m.GuestTeamResult)
                    {
                        counterWins++;
                    }
                    else if (m.HostTeamResult > m.GuestTeamResult)
                    {
                        counterLosses++;
                    }
                    else
                    {
                        counterDraws++;
                    }
                });
                team.NumberOfWins   = counterWins;
                team.NumberOfDraws  = counterDraws;
                team.NumberOfLosses = counterLosses;
                model.Teams.Add(team);
            });
            var players = playerRepository.GetAll();

            players.ToList().ForEach(p =>
            {
                int counterMatches = 0;
                int counterGoals   = 0;
                var player         = new PlayerStatisticsViewModel();
                player.Name        = p.Name;
                player.TeamName    = p.Team.Name;
                p.PlayerOnMatches.ToList().ForEach(pom =>
                {
                    if (pom.Match.Status.Equals("Finished"))
                    {
                        counterMatches++;
                        counterGoals += pom.Score;
                    }
                });
                player.Matches = counterMatches;
                player.Goals   = counterGoals;
                model.Players.Add(player);
            });
            return(View(model));
        }
        private PlayerStatisticsViewModel CreateSUT()
        {
            var sut = new PlayerStatisticsViewModel(_mockCommandService.Object, _mockQueryService.Object, _mockMainWindow.Object, null);

            return(sut);
        }