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