Exemplo n.º 1
0
        public virtual ActionResult Index()
        {
            var recentPlayerAchievements = _recentPlayerAchievementsUnlockedRetreiver.GetResults(new GetRecentPlayerAchievementsUnlockedQuery {PageSize = NUMBER_OF_RECENT_ACHIEVEMENTS_TO_SHOW });
            var recentPlayerAchievementsViewModel =
                recentPlayerAchievements.ToMappedPagedList(_mapperFactory.GetMapper<PlayerAchievement,PlayerAchievementWinnerViewModel>());

            var recentlyPlayedGamesFilter = new RecentlyPlayedGamesFilter
            {
                NumberOfGamesToRetrieve = NUMBER_OF_RECENT_PUBLIC_GAMES_TO_SHOW
            };
            var publicGameSummaries = _recentPublicGamesRetriever.GetResults(recentlyPlayedGamesFilter);

            var topGamingGroups = _topGamingGroupsRetriever.GetResults(NUMBER_OF_TOP_GAMING_GROUPS_TO_SHOW);

            var topGamingGroupViewModels = topGamingGroups.Select(_transformer.Transform<TopGamingGroupSummaryViewModel>).ToList();

            var trendingGamesRequest = new TrendingGamesRequest(NUMBER_OF_TRENDING_GAMES_TO_SHOW, NUMBER_OF_DAYS_OF_TRENDING_GAMES);
            var trendingGames = _trendingGamesRetriever.GetResults(trendingGamesRequest);
            var trendingGameViewModels = trendingGames.Select(_transformer.Transform<TrendingGameViewModel>).ToList();

            var homeIndexViewModel = new HomeIndexViewModel()
            {
                RecentAchievementsUnlocked = recentPlayerAchievementsViewModel,
                RecentPublicGames = publicGameSummaries,
                TopGamingGroups = topGamingGroupViewModels,
                TrendingGames = trendingGameViewModels
            };
            ViewBag.NumTrendingGameDays = NUMBER_OF_DAYS_OF_TRENDING_GAMES;
            return View(MVC.Home.Views.Index, homeIndexViewModel);
        }
        public void LocalFixtureSetUp()
        {
            using (NemeStatsDataContext dataContext = new NemeStatsDataContext())
            {
                var retriever = new PlayedGameRetriever(dataContext);

                var recentlyPlayedGamesFilter = new RecentlyPlayedGamesFilter
                {
                    NumberOfGamesToRetrieve = NUMBER_OF_GAMES_TO_RETRIEVE
                };
                publicGameSummaryResults = retriever.GetRecentPublicGames(recentlyPlayedGamesFilter);
            }
        }
        public void ItPullsFromPlayedGameRetrieverIfTheResultsArentAlreadyInTheCache()
        {
            //--arrange
            int gamesToRetrieve = 1;
            var expectedResults = new List<PublicGameSummary>();
            var recentlyPlayedGamesFilter = new RecentlyPlayedGamesFilter();
            _autoMocker.Get<IPlayedGameRetriever>().Expect(mock => mock.GetRecentPublicGames(Arg<RecentlyPlayedGamesFilter>.Is.Equal(recentlyPlayedGamesFilter)))
              .Return(expectedResults);

            //--act
            var actualResults = _autoMocker.ClassUnderTest.GetFromSource(recentlyPlayedGamesFilter);

            //--assert
            Assert.That(actualResults, Is.SameAs(expectedResults));
        }
Exemplo n.º 4
0
        public BoardGameGeekGameSummary GetBoardGameGeekGameSummary(int boardGameGeekGameDefinitionId, ApplicationUser currentUser, int numberOfRecentlyPlayedGamesToRetrieve = DEFAULT_NUMBER_OF_GAMES)
        {
            var topChampions = _universalTopChampionsRetreiver.GetFromSource(boardGameGeekGameDefinitionId);
            var boardGameGeekInfo = _boardGameGeekGameDefinitionInfoRetriever.GetResults(boardGameGeekGameDefinitionId);
            var universalStats = _universalStatsRetriever.GetResults(boardGameGeekGameDefinitionId);
            var gamingGroupGameDefinitionSummary = GetGamingGroupGameDefinitionSummary(boardGameGeekGameDefinitionId, currentUser.CurrentGamingGroupId, numberOfRecentlyPlayedGamesToRetrieve);

            var filter = new RecentlyPlayedGamesFilter
            {
                BoardGameGeekGameDefinitionId = boardGameGeekGameDefinitionId,
                NumberOfGamesToRetrieve = numberOfRecentlyPlayedGamesToRetrieve
            };
            var recentlyPlayedPublicGames = _recentPublicGamesRetriever.GetResults(filter);

            return new BoardGameGeekGameSummary
            {
                BoardGameGeekInfo = boardGameGeekInfo,
                UniversalGameStats = universalStats,
                GamingGroupGameDefinitionSummary = gamingGroupGameDefinitionSummary,
                RecentlyPlayedGames = recentlyPlayedPublicGames,
                TopChampions = topChampions
            };
        }
Exemplo n.º 5
0
        public List<PublicGameSummary> GetRecentPublicGames(RecentlyPlayedGamesFilter filter)
        {
            var query = dataContext.GetQueryable<PlayedGame>();


            if (filter.BoardGameGeekGameDefinitionId.HasValue)
            {
                query = query.Where(x => x.GameDefinition.BoardGameGeekGameDefinitionId == filter.BoardGameGeekGameDefinitionId);
            }

            var publicGameSummaries = (from playedGame in query group new PublicGameSummary
                 {
                     PlayedGameId = playedGame.Id,
                     GameDefinitionId = playedGame.GameDefinitionId,
                     GameDefinitionName = playedGame.GameDefinition.Name,
                     GamingGroupId = playedGame.GamingGroupId,
                     GamingGroupName = playedGame.GamingGroup.Name,
                     WinnerType = playedGame.WinnerType,
                     WinningPlayer = playedGame.PlayerGameResults.FirstOrDefault(player => player.GameRank == 1).Player,
                     DatePlayed = playedGame.DatePlayed,
                     ThumbnailImageUrl = playedGame.GameDefinition.BoardGameGeekGameDefinition == null
                                              ? null : playedGame.GameDefinition.BoardGameGeekGameDefinition.Thumbnail,
                     BoardGameGeekObjectId = playedGame.GameDefinition.BoardGameGeekGameDefinitionId
                 } 
                 by playedGame.GamingGroupId
                 into gamingGroups
                 select gamingGroups
                    .OrderByDescending(x => x.DatePlayed)
                    .ThenByDescending(y => y.PlayedGameId)
                    .FirstOrDefault()
                )
                    .OrderByDescending(x => x.DatePlayed)
                    .ThenByDescending(y => y.PlayedGameId)
                    .Take(filter.NumberOfGamesToRetrieve)
                    .ToList();

            foreach (var publicGameSummary in publicGameSummaries)
            {
                publicGameSummary.BoardGameGeekUri =
                    BoardGameGeekUriBuilder.BuildBoardGameGeekGameUri(publicGameSummary.BoardGameGeekObjectId);
            }
            return publicGameSummaries;
        }
Exemplo n.º 6
0
        public virtual ActionResult ShowRecentlyPlayedGames()
        {
            var recentlyPlayedGamesFilter = new RecentlyPlayedGamesFilter
            {
                NumberOfGamesToRetrieve = NUMBER_OF_RECENT_GAMES_TO_DISPLAY
            };
            var recentlyPlayedGames = _playedGameRetriever.GetRecentPublicGames(recentlyPlayedGamesFilter);

            return View(MVC.PlayedGame.Views.RecentlyPlayedGames, recentlyPlayedGames);
        }
 protected bool Equals(RecentlyPlayedGamesFilter other)
 {
     return(NumberOfGamesToRetrieve == other.NumberOfGamesToRetrieve && BoardGameGeekGameDefinitionId == other.BoardGameGeekGameDefinitionId && MaxDate.Equals(other.MaxDate));
 }