public async Task <IActionResult> EditGroup(int id) { PageTitle = "Edit Challenge Group"; var challengeGroup = await _challengeService.GetGroupByIdAsync(id); var baseUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var viewModel = new ChallengeGroupDetailViewModel() { ChallengeGroup = challengeGroup, ChallengeIds = string.Join(",", challengeGroup.Challenges.Select(_ => _.Id)), Action = nameof(EditGroup), RelatedEvents = await _eventService.GetByChallengeGroupIdAsync(challengeGroup.Id), CanManageEvents = UserHasPermission(Permission.ManageEvents), GroupUrl = $"{baseUrl}{Url.Action("List", "Challenges", new { area = "", id = challengeGroup.Stub })}" }; foreach (var challenge in viewModel.ChallengeGroup.Challenges) { if (!string.IsNullOrWhiteSpace(challenge.BadgeFilename)) { challenge.BadgeFilename = _pathResolver.ResolveContentPath( challenge.BadgeFilename); } } return(View("GroupDetail", viewModel)); }