public async Task <ActionResult> Index(string id, int?gameweek)
        {
            // If no ID is provided, look at your own profile
            var user = await _userService.GetById(id) ?? await _userService.GetUserByName(User.Identity.Name);

            // Look at the current gameweek unless a specific one is provided
            GameWeek selectedGameweek = null;

            if (gameweek != null && gameweek.Value > 0)
            {
                selectedGameweek = await _gameWeekService.GetGameWeekByInternalId(gameweek.Value);
            }

            // Fall back to the current gameweek if no specific gameweek is provided.
            if (selectedGameweek == null)
            {
                selectedGameweek = await _gameWeekService.GetCurrentGameweek();
            }

            // Any predictions the user made for this gameweek.
            //var predictions = await _predictionService.GetPredictionsForGameWeek(selectedGameweek, user.UserName, _context);

            ViewBag.PredictionResults = await _predictionService.GetPredictionResultsForGameWeek(selectedGameweek, user.UserName);

            var viewModel = new ProfileViewModel
            {
                User     = user,
                GameWeek = selectedGameweek,
                //Predictions = predictions,
                OwnProfile = user.UserName == User.Identity.Name
            };

            return(View(viewModel));
        }
Exemple #2
0
        public async Task <ActionResult> Index()
        {
            var upcoming = await gameWeekService.GetUpcomingGameweek();

            var latest = await gameWeekService.GetCurrentGameweek();

            var setPredictions = await predictionService.HasSetPredictions(upcoming, User.Identity.Name);

            ViewBag.PredictionResults = await predictionService.GetPredictionResultsForGameWeek(latest, User.Identity.Name);

            var viewModel = new HomepageViewModel
            {
                LatestGameweek   = latest,
                UpcomingGameweek = upcoming,
                SetPredictions   = setPredictions,
            };

            return(View(viewModel));
        }