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); }
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; }