public override void TestSetUp()
        {
            base.TestSetUp();

            players = new PlayersToCreateModel { UserPlayer = new PlayerInfoForUser() { PlayerId = playerId }, OtherPlayers = new List<PlayerInfoForUser>(), RecentPlayers = new List<PlayerInfoForUser>() };

            autoMocker.Get<IGameDefinitionRetriever>().Expect(x => x.GetMostPlayedGames(Arg<GetMostPlayedGamesQuery>.Is.Anything)).Repeat.Once().Return(new PagedList<GameDefinitionDisplayInfo>(new List<GameDefinitionDisplayInfo>(), 1, 1));
            autoMocker.Get<IGameDefinitionRetriever>().Expect(x => x.GetRecentGames(Arg<GetRecentPlayedGamesQuery>.Is.Anything)).Repeat.Once().Return(new PagedList<GameDefinitionDisplayInfo>(new List<GameDefinitionDisplayInfo>(), 1, 1));
            autoMocker.Get<IPlayerRetriever>().Expect(x => x.GetPlayersToCreate(currentUser.Id, currentUser.CurrentGamingGroupId)).Repeat.Once().Return(players);

        }
Example #2
0
        public PlayersToCreateModel GetPlayersToCreate(string currentUserId, int currentGamingGroupId)
        {
            var currentUserPlayer = dataContext.GetQueryable<Player>().FirstOrDefault(p => p.ApplicationUserId == currentUserId && p.GamingGroupId == currentGamingGroupId);

            var recentPlayersQuery = GetPlayersToCreateQueryable(currentUserPlayer, currentGamingGroupId)
                .OrderByDescending(
                    p => p.PlayerGameResults
                        .Select(pgr => pgr.PlayedGame.DatePlayed)
                        .OrderByDescending(d => d)
                        .FirstOrDefault())
                .ThenBy(p => p.Name)
                .Take(5);

            var otherPlayersQuery = GetPlayersToCreateQueryable(currentUserPlayer,currentGamingGroupId)
                .Where(p => recentPlayersQuery.All(rp => rp.Id != p.Id))
                .OrderBy(p => p.Name);

            var result = new PlayersToCreateModel
            {
                UserPlayer = GetPlayerInfoForUser(currentUserPlayer),
                OtherPlayers = otherPlayersQuery.Select(GetPlayerInfoForUser).ToList(),
                RecentPlayers = recentPlayersQuery.Select(GetPlayerInfoForUser).ToList()

            };

            return result;
        }