private static void PopulatePlayerVersusPlayersViewModel(PlayerDetails playerDetails, Dictionary <int, string> playerIdToRegisteredUserEmailAddressDictionary, PlayerDetailsViewModel playerDetailsViewModel) { var playerVersusPlayers = new PlayersSummaryViewModel { WinLossHeader = "Win - Loss Record vs. Player" }; foreach (var playerVersusPlayerStatistics in playerDetails.PlayerVersusPlayersStatistics) { var winPercentage = GetWinPercentage(playerVersusPlayerStatistics); string registeredUserEmail; playerIdToRegisteredUserEmailAddressDictionary.TryGetValue( playerVersusPlayerStatistics.OpposingPlayerId, out registeredUserEmail); var playerSummaryViewModel = new PlayerSummaryViewModel { PlayerName = PlayerNameBuilder.BuildPlayerName(playerVersusPlayerStatistics.OpposingPlayerName, playerVersusPlayerStatistics.OpposingPlayerActive), PlayerId = playerVersusPlayerStatistics.OpposingPlayerId, RegisteredUserEmailAddress = registeredUserEmail, GamesWon = playerVersusPlayerStatistics.NumberOfGamesWonVersusThisPlayer, GamesLost = playerVersusPlayerStatistics.NumberOfGamesLostVersusThisPlayer, WinPercentage = (int)winPercentage }; if (playerDetails.CurrentNemesis != null && playerDetails.CurrentNemesis.NemesisPlayerId == playerVersusPlayerStatistics.OpposingPlayerId) { playerSummaryViewModel.SpecialBadgeTypes.Add(new NemesisBadgeViewModel()); } if (playerDetails.PreviousNemesis?.NemesisPlayerId == playerVersusPlayerStatistics.OpposingPlayerId) { playerSummaryViewModel.SpecialBadgeTypes.Add(new PreviousNemesisBadgeViewModel()); } if (playerDetails.Minions.Any(x => x.Id == playerVersusPlayerStatistics.OpposingPlayerId)) { playerSummaryViewModel.SpecialBadgeTypes.Add(new MinionBadgeViewModel()); } playerVersusPlayers.PlayerSummaries.Add(playerSummaryViewModel); } playerDetailsViewModel.PlayerVersusPlayers = playerVersusPlayers; }
private static void PopulatePlayerVersusPlayersViewModel(PlayerDetails playerDetails, PlayerDetailsViewModel playerDetailsViewModel) { var playerVersusPlayers = new PlayersSummaryViewModel { WinLossHeader = "Win - Loss Record vs. Player" }; foreach (var playerVersusPlayerStatistics in playerDetails.PlayerVersusPlayersStatistics) { var winPercentage = GetWinPercentage(playerVersusPlayerStatistics); var playerSummaryViewModel = new PlayerSummaryViewModel { PlayerName = playerVersusPlayerStatistics.OpposingPlayerName, PlayerId = playerVersusPlayerStatistics.OpposingPlayerId, GamesWon = playerVersusPlayerStatistics.NumberOfGamesWonVersusThisPlayer, GamesLost = playerVersusPlayerStatistics.NumberOfGamesLostVersusThisPlayer, WinPercentage = (int)winPercentage }; if (playerDetails.CurrentNemesis != null && playerDetails.CurrentNemesis.NemesisPlayerId == playerVersusPlayerStatistics.OpposingPlayerId) { playerSummaryViewModel.SpecialBadgeTypes.Add(new NemesisBadgeViewModel()); } if (playerDetails.Minions.Any(x => x.Id == playerVersusPlayerStatistics.OpposingPlayerId)) { playerSummaryViewModel.SpecialBadgeTypes.Add(new MinionBadgeViewModel()); } playerVersusPlayers.PlayerSummaries.Add(playerSummaryViewModel); } playerDetailsViewModel.PlayerVersusPlayers = playerVersusPlayers; }
public void FixtureSetUp() { autoMocker = new RhinoAutoMocker <GameDefinitionDetailsViewModelBuilder>(); autoMocker.PartialMockTheClassUnderTest(); expectedPlayerSummary1 = new PlayerSummaryViewModel(); expectedPlayerSummary2 = new PlayerSummaryViewModel(); List <PlayedGame> playedGames = new List <PlayedGame>(); playedGames.Add(new PlayedGame { Id = 10 }); playedGameDetailsViewModel1 = new PlayedGameDetailsViewModel(); playedGames.Add(new PlayedGame { Id = 11 }); playedGameDetailsViewModel2 = new PlayedGameDetailsViewModel(); championPlayer = new Player { Name = championName, Id = championPlayerId }; previousChampionPlayer = new Player { Name = previousChampionName, Id = previousChampionPlayerId }; champion = new Champion { Player = championPlayer, WinPercentage = championWinPercentage, NumberOfGames = championNumberOfGames, NumberOfWins = championNumberOfWins }; previousChampion = new Champion { Player = previousChampionPlayer }; playerWinRecord1 = new PlayerWinRecord { GamesWon = 1, GamesLost = 2, PlayerName = "player name", WinPercentage = 33, PlayerId = 3 }; playerWinRecord2 = new PlayerWinRecord(); autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <PlayerWinRecord, PlayerSummaryViewModel>(playerWinRecord1)) .Return(expectedPlayerSummary1); autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <PlayerWinRecord, PlayerSummaryViewModel>(playerWinRecord2)) .Return(expectedPlayerSummary2); gameDefinitionSummary = new GameDefinitionSummary { Id = 1, Name = "game definition name", Description = "game definition description", GamingGroupId = gamingGroupid, GamingGroupName = "gaming group name", PlayedGames = playedGames, TotalNumberOfGamesPlayed = 3, AveragePlayersPerGame = 2.2M, BoardGameGeekGameDefinitionId = 123, Champion = champion, PreviousChampion = previousChampion, PlayerWinRecords = new List <PlayerWinRecord> { playerWinRecord1, playerWinRecord2 } }; currentUser = new ApplicationUser { CurrentGamingGroupId = gamingGroupid }; autoMocker.Get <IPlayedGameDetailsViewModelBuilder>().Expect(mock => mock.Build(gameDefinitionSummary.PlayedGames[0], currentUser)) .Return(playedGameDetailsViewModel1); autoMocker.Get <IPlayedGameDetailsViewModelBuilder>().Expect(mock => mock.Build(gameDefinitionSummary.PlayedGames[1], currentUser)) .Return(playedGameDetailsViewModel2); viewModel = autoMocker.ClassUnderTest.Build(gameDefinitionSummary, currentUser); }