// // 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); }
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()); }
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); }
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); }