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;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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);
        }