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)); }
public virtual ActionResult GetGamingGroupPlayers(int id, ApplicationUser currentUser, [System.Web.Http.FromUri]BasicDateRangeFilter dateRangeFilter = null) { var playersWithNemesis = playerRetriever.GetAllPlayersWithNemesisInfo(id, dateRangeFilter) .Select(player => playerWithNemesisViewModelBuilder.Build(player, currentUser)) .ToList(); ViewBag.canEdit = currentUser.CurrentGamingGroupId == id; return PartialView(MVC.Player.Views._PlayersPartial, playersWithNemesis); }
private List <PlayerWithNemesisViewModel> ConstructPlwyerWithNemesisViewModels(ApplicationUser currentUser, List <PlayerWithNemesis> playersWithNemesis, Dictionary <int, string> playerIdToRegisteredUserEmailAddressDictionary) { var viewModels = new List <PlayerWithNemesisViewModel>(); foreach (var playerWithNemesisInfo in playersWithNemesis) { string email = null; if (playerIdToRegisteredUserEmailAddressDictionary.ContainsKey(playerWithNemesisInfo.PlayerId)) { email = playerIdToRegisteredUserEmailAddressDictionary[playerWithNemesisInfo.PlayerId]; } var viewModel = _playerWithNemesisViewModelBuilder.Build(playerWithNemesisInfo, email, currentUser); viewModels.Add(viewModel); } return(viewModels); }
public GamingGroupViewModel Build(GamingGroupSummary gamingGroupSummary, ApplicationUser currentUser = null) { List <PlayedGameDetailsViewModel> details = BuildPlayedGameDetailsViewModels(gamingGroupSummary, currentUser); List <PlayerWithNemesisViewModel> playerWithNemesisList = (from PlayerWithNemesis playerWithNemesis in gamingGroupSummary.Players select playerWithNemesisViewModelBuilder.Build(playerWithNemesis, currentUser)).ToList(); var viewModel = new GamingGroupViewModel() { Id = gamingGroupSummary.Id, OwningUserId = gamingGroupSummary.OwningUserId, Name = gamingGroupSummary.Name, OwningUserName = gamingGroupSummary.OwningUser.UserName, Players = playerWithNemesisList, GameDefinitionSummaries = gamingGroupSummary.GameDefinitionSummaries .Select(game => gameDefinitionSummaryViewModelBuilder.Build(game, currentUser)) .OrderByDescending(game => game.TotalNumberOfGamesPlayed) .ToList(), PlayedGames = new PlayedGamesViewModel { PlayedGameDetailsViewModels = details, PanelTitle = string.Format("Last {0} Played Games", details.Count), UserCanEdit = currentUser != null && currentUser.CurrentGamingGroupId == gamingGroupSummary.Id, GamingGroupId = gamingGroupSummary.Id }, PublicDetailsView = new GamingGroupPublicDetailsViewModel { GamingGroupId = gamingGroupSummary.Id, PublicDescription = gamingGroupSummary.PublicDescription, Website = gamingGroupSummary.PublicGamingGroupWebsite } }; return(viewModel); }