Ejemplo n.º 1
0
        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));
        }