Exemple #1
0
        public virtual ActionResult Details(int id, ApplicationUser currentUser)
        {
            GamingGroupSummary gamingGroupSummary = GetGamingGroupSummary(id);

            var viewModel = new GamingGroupPublicViewModel
            {
                Id   = gamingGroupSummary.Id,
                Name = gamingGroupSummary.Name,
                GameDefinitionSummaries = gamingGroupSummary.GameDefinitionSummaries
                                          .Select(summary => gameDefinitionSummaryViewModelBuilder.Build(summary, currentUser))
                                          .OrderByDescending(summary => summary.TotalNumberOfGamesPlayed)
                                          .ToList(),
                Players = gamingGroupSummary.Players
                          .Select(playerWithNemesis => playerWithNemesisViewModelBuilder.Build(playerWithNemesis, currentUser)).ToList(),
                PlayedGames = new PlayedGamesViewModel
                {
                    PlayedGameDetailsViewModels = gamingGroupSummary.PlayedGames
                                                  .Select(playedGame => playedGameDetailsViewModelBuilder.Build(playedGame, currentUser)).ToList(),
                    PanelTitle  = string.Format("Last {0} Played Games", gamingGroupSummary.PlayedGames.Count),
                    UserCanEdit = currentUser.CurrentGamingGroupId == gamingGroupSummary.Id,
                    ShowSearchLinkInResultsHeader = false
                },
                PublicDetailsView = new GamingGroupPublicDetailsViewModel
                {
                    GamingGroupId     = gamingGroupSummary.Id,
                    PublicDescription = gamingGroupSummary.PublicDescription,
                    Website           = gamingGroupSummary.PublicGamingGroupWebsite
                }
            };

            return(View(MVC.GamingGroup.Views.Details, viewModel));
        }
Exemple #2
0
        public GameDefinitionDetailsViewModel Build(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser)
        {
            BoardGameGeekInfoViewModel boardGameGeekInfoViewModel = null;

            if (gameDefinitionSummary.BoardGameGeekGameDefinitionId.HasValue)
            {
                boardGameGeekInfoViewModel = _transformer.Transform <BoardGameGeekInfoViewModel>(gameDefinitionSummary.BoardGameGeekInfo);
            }
            var viewModel = new GameDefinitionDetailsViewModel
            {
                GameDefinitionId         = gameDefinitionSummary.Id,
                GameDefinitionName       = gameDefinitionSummary.Name,
                TotalNumberOfGamesPlayed = gameDefinitionSummary.TotalNumberOfGamesPlayed,
                AveragePlayersPerGame    = $"{gameDefinitionSummary.AveragePlayersPerGame:0.#}",
                GamingGroupId            = gameDefinitionSummary.GamingGroupId,
                GamingGroupName          = gameDefinitionSummary.GamingGroupName,
                UserCanEdit       = (currentUser != null && gameDefinitionSummary.GamingGroupId == currentUser.CurrentGamingGroupId),
                BoardGameGeekInfo = boardGameGeekInfoViewModel
            };

            if (gameDefinitionSummary.PlayedGames == null)
            {
                viewModel.PlayedGames = new List <PlayedGameDetailsViewModel>();
            }
            else
            {
                viewModel.PlayedGames = (from playedGame in gameDefinitionSummary.PlayedGames
                                         select _playedGameDetailsViewModelBuilder.Build(playedGame, currentUser, true))
                                        .ToList();
            }

            if (!(gameDefinitionSummary.Champion is NullChampion))
            {
                viewModel.ChampionName = PlayerNameBuilder.BuildPlayerName(
                    gameDefinitionSummary.Champion.Player.Name,
                    gameDefinitionSummary.Champion.Player.Active);
                viewModel.ChampionPlayerId    = gameDefinitionSummary.Champion.Player.Id;
                viewModel.WinPercentage       = gameDefinitionSummary.Champion.WinPercentage;
                viewModel.NumberOfGamesPlayed = gameDefinitionSummary.Champion.NumberOfGames;
                viewModel.NumberOfWins        = gameDefinitionSummary.Champion.NumberOfWins;
            }

            if (!(gameDefinitionSummary.PreviousChampion is NullChampion))
            {
                viewModel.PreviousChampionName = PlayerNameBuilder.BuildPlayerName(
                    gameDefinitionSummary.PreviousChampion.Player.Name,
                    gameDefinitionSummary.PreviousChampion.Player.Active);
                viewModel.PreviousChampionPlayerId = gameDefinitionSummary.PreviousChampion.Player.Id;
            }

            viewModel.GameDefinitionPlayersSummary = gameDefinitionSummary.PlayerWinRecords
                                                     .Select(_transformer.Transform <GameDefinitionPlayerSummaryViewModel>)
                                                     .ToList();

            return(viewModel);
        }
        private List <PlayedGameDetailsViewModel> BuildPlayedGameDetailsViewModels(GamingGroupSummary gamingGroupSummary, ApplicationUser currentUser)
        {
            int totalGames = gamingGroupSummary.PlayedGames.Count;
            List <PlayedGameDetailsViewModel> details = new List <PlayedGameDetailsViewModel>(totalGames);

            for (int i = 0; i < totalGames; i++)
            {
                details.Add(playedGameDetailsViewModelBuilder.Build(gamingGroupSummary.PlayedGames[i], currentUser));
            }
            return(details);
        }
Exemple #4
0
        public GameDefinitionDetailsViewModel Build(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser)
        {
            GameDefinitionDetailsViewModel viewModel = new GameDefinitionDetailsViewModel()
            {
                Id          = gameDefinitionSummary.Id,
                Name        = gameDefinitionSummary.Name,
                Description = gameDefinitionSummary.Description,
                TotalNumberOfGamesPlayed      = gameDefinitionSummary.TotalNumberOfGamesPlayed,
                AveragePlayersPerGame         = string.Format("{0:0.#}", gameDefinitionSummary.AveragePlayersPerGame),
                GamingGroupId                 = gameDefinitionSummary.GamingGroupId,
                GamingGroupName               = gameDefinitionSummary.GamingGroupName,
                BoardGameGeekGameDefinitionId = gameDefinitionSummary.BoardGameGeekGameDefinitionId,
                BoardGameGeekUri              = gameDefinitionSummary.BoardGameGeekUri,
                ThumbnailImageUrl             = gameDefinitionSummary.ThumbnailImageUrl,
                UserCanEdit = (currentUser != null && gameDefinitionSummary.GamingGroupId == currentUser.CurrentGamingGroupId)
            };

            if (gameDefinitionSummary.PlayedGames == null)
            {
                viewModel.PlayedGames = new List <PlayedGameDetailsViewModel>();
            }
            else
            {
                viewModel.PlayedGames = (from playedGame in gameDefinitionSummary.PlayedGames
                                         select playedGameDetailsViewModelBuilder.Build(playedGame, currentUser))
                                        .ToList();
            }

            if (!(gameDefinitionSummary.Champion is NullChampion))
            {
                viewModel.ChampionName        = gameDefinitionSummary.Champion.Player.Name;
                viewModel.ChampionPlayerId    = gameDefinitionSummary.Champion.Player.Id;
                viewModel.WinPercentage       = gameDefinitionSummary.Champion.WinPercentage;
                viewModel.NumberOfGamesPlayed = gameDefinitionSummary.Champion.NumberOfGames;
                viewModel.NumberOfWins        = gameDefinitionSummary.Champion.NumberOfWins;
            }

            if (!(gameDefinitionSummary.PreviousChampion is NullChampion))
            {
                viewModel.PreviousChampionName     = gameDefinitionSummary.PreviousChampion.Player.Name;
                viewModel.PreviousChampionPlayerId = gameDefinitionSummary.PreviousChampion.Player.Id;
            }

            var playersSummaryViewModel = new PlayersSummaryViewModel
            {
                WinLossHeader   = "Win - Loss Record",
                PlayerSummaries = gameDefinitionSummary.PlayerWinRecords.Select(transformer.Transform <PlayerWinRecord, PlayerSummaryViewModel>).ToList()
            };

            viewModel.PlayersSummary = playersSummaryViewModel;

            return(viewModel);
        }
Exemple #5
0
        public virtual ActionResult GetGamingGroupPlayedGames(int id, ApplicationUser currentUser, [System.Web.Http.FromUri] BasicDateRangeFilter dateRangeFilter = null, [System.Web.Http.FromUri] int numberOfItems = 20)
        {
            var games     = _playedGameRetriever.GetRecentGames(numberOfItems, id, dateRangeFilter);
            var viewModel = new PlayedGamesViewModel
            {
                GamingGroupId = id,
                ShowSearchLinkInResultsHeader = true,
                PlayedGameDetailsViewModels   = games.Select(playedGame => _playedGameDetailsViewModelBuilder.Build(playedGame, currentUser)).ToList(),
                UserCanEdit = currentUser.CurrentGamingGroupId == id
            };

            return(PartialView(MVC.PlayedGame.Views._PlayedGamesPartial, viewModel));
        }
 private void SetPlayedGames(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser,
                             GameDefinitionDetailsViewModel viewModel)
 {
     if (gameDefinitionSummary.PlayedGames == null)
     {
         viewModel.PlayedGames = new List <PlayedGameDetailsViewModel>();
     }
     else
     {
         viewModel.PlayedGames = (from playedGame in gameDefinitionSummary.PlayedGames
                                  select _playedGameDetailsViewModelBuilder.Build(playedGame, currentUser, true))
                                 .ToList();
     }
 }
Exemple #7
0
        public virtual ActionResult Details(int?id, ApplicationUser currentUser)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var playedGame = _playedGameRetriever.GetPlayedGameDetails(id.Value);

            if (playedGame == null)
            {
                return(HttpNotFound());
            }
            var playedGameDetails = _playedGameDetailsBuilder.Build(playedGame, currentUser, true);

            return(View(MVC.PlayedGame.Views.Details, playedGameDetails));
        }
        public virtual ActionResult Details(int id, ApplicationUser currentUser)
        {
            var boardGameGeekGameSummary = _universalGameRetriever.GetBoardGameGeekGameSummary(id, currentUser);
            var viewModel = _transformer.Transform <UniversalGameDetailsViewModel>(boardGameGeekGameSummary);

            viewModel.BoardGameGeekInfo.HideLinkToGlobalStats = true;

            var gamingGroupGameDefinitionSummary = boardGameGeekGameSummary.GamingGroupGameDefinitionSummary;

            if (gamingGroupGameDefinitionSummary != null)
            {
                viewModel.GamingGroupGameDefinitionSummary = new GamingGroupGameDefinitionViewModel
                {
                    GamingGroupId                 = gamingGroupGameDefinitionSummary.GamingGroupId,
                    GamingGroupName               = gamingGroupGameDefinitionSummary.GamingGroupName,
                    PlayedGamesPanelTitle         = $"Last {gamingGroupGameDefinitionSummary.PlayedGames.Count} Played Games",
                    PlayedGames                   = gamingGroupGameDefinitionSummary.PlayedGames.Select(playedGame => _playedGameDetailsViewModelBuilder.Build(playedGame, currentUser, true)).ToList(),
                    GameDefinitionPlayerSummaries = gamingGroupGameDefinitionSummary.PlayerWinRecords
                                                    .Select(playerWinRecord => _transformer.Transform <GameDefinitionPlayerSummaryViewModel>(playerWinRecord)).ToList(),
                    GamingGroupGameDefinitionStats = new GamingGroupGameDefinitionStatsViewModel
                    {
                        AveragePlayersPerGame    = $"{gamingGroupGameDefinitionSummary.AveragePlayersPerGame:0.#}",
                        TotalNumberOfGamesPlayed = gamingGroupGameDefinitionSummary.TotalNumberOfGamesPlayed
                    }
                };
            }

            return(View(MVC.UniversalGame.Views.Details, viewModel));
        }