public async Task <IActionResult> Create() { var site = await GetCurrentSiteAsync(); var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var viewModel = new TriggersDetailViewModel { Action = "Create", IsSecretCode = true, BadgeMakerUrl = GetBadgeMakerUrl(siteUrl, site.FromEmailAddress), UseBadgeMaker = true, EditAvatarBundle = UserHasPermission(Permission.ManageAvatars), EditMail = UserHasPermission(Permission.ManageTriggerMail), EditVendorCode = UserHasPermission(Permission.ManageVendorCodes), SystemList = new SelectList(await _siteService.GetSystemList(), "Id", "Name"), BranchList = new SelectList(await _siteService.GetAllBranches(), "Id", "Name"), ProgramList = new SelectList(await _siteService.GetProgramList(), "Id", "Name"), IgnorePointLimits = UserHasPermission(Permission.IgnorePointLimits), MaxPointLimit = await _triggerService.GetMaximumAllowedPointsAsync(GetCurrentSiteId()) }; if (viewModel.MaxPointLimit.HasValue) { viewModel.MaxPointsMessage = $"(Up to {viewModel.MaxPointLimit.Value} points)"; } if (viewModel.EditVendorCode) { viewModel.VendorCodeTypeList = new SelectList( await _vendorCodeService.GetTypeAllAsync(), "Id", "Description"); } if (viewModel.EditAvatarBundle) { viewModel.UnlockableAvatarBundleList = new SelectList( await _avatarService.GetAllBundlesAsync(true), "Id", "Name"); } PageTitle = "Create Trigger"; return(View("Detail", viewModel)); }