Пример #1
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }