public async Task <IViewComponentResult> InvokeAsync(bool historical = false) { string userId = _userManager.GetUserId(HttpContext.User); IEnumerable <Run> runs; if (!historical) { runs = await _runRepository.AllActiveRunsForUserAndTheirFriendsAsync(userId); } else { runs = await _runRepository.FindAllRunsForUserAsync(userId); } var runsViewModels = _mapper.Map <IEnumerable <RunViewModel> >(runs); foreach (var runViewModel in runsViewModels) { if (runViewModel.OwnerUserId == userId && runViewModel.TimeToRun > DateTime.Now) { runViewModel.ableToModify = true; } else { runViewModel.ableToModify = false; } } return(View(runsViewModels)); }