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