public async Task <IActionResult> ViewPackingSlip(long id) { if (id == 0) { return(View("EnterPackingSlip")); } var summary = await _vendorCodeService.VerifyPackingSlipAsync(id); summary.CanViewDetails = UserHasPermission(Permission.ViewParticipantDetails); if (summary.VendorCodes.Count > 0 || summary.VendorCodePackingSlip != null) { if (summary.VendorCodePackingSlip != null) { if (summary.CanViewDetails) { var enteredBy = await _userService .GetDetailsByPermission(summary.VendorCodePackingSlip.CreatedBy); summary.ReceivedBy = enteredBy.FullName; } } else { var vendorCodeType = await _vendorCodeService .GetTypeById(summary.VendorCodes.First().VendorCodeTypeId); summary.CanBeReceived = UserHasPermission(Permission.ReceivePackingSlips) || UserHasPermission(Permission.ManageVendorCodes); summary.SubmitText = vendorCodeType.AwardPrizeOnPackingSlip ? "Mark as received and award prizes" : "Mark as received"; } var tracking = new HashSet <string>(); foreach (var tns in summary.VendorCodes.Select(_ => _.TrackingNumber).Distinct()) { foreach (var tn in tns.Split(',')) { tracking.Add(tn.Trim()); } } if (tracking.Count > 0) { summary.TrackingNumbers = tracking; } return(View("ViewPackingSlip", summary)); } ShowAlertDanger($"Could not find packing slip number {id}, please contact your administrator."); return(View("EnterPackingSlip", id)); }
public async Task <IActionResult> View(int id) { try { var storedReport = await _reportService.GetReportResultsAsync(id); PageTitle = storedReport.request.Name ?? "Report Results"; var viewModel = new ReportResultsViewModel { Title = PageTitle, ReportResultId = id }; if (storedReport.criterion.StartDate.HasValue) { viewModel.StartDate = storedReport.criterion.StartDate; } if (storedReport.criterion.EndDate.HasValue) { viewModel.EndDate = storedReport.criterion.EndDate; } if (storedReport.criterion.SystemId.HasValue) { viewModel.SystemName = (await _siteService .GetSystemByIdAsync(storedReport.criterion.SystemId.Value)).Name; } if (storedReport.criterion.BranchId.HasValue) { viewModel.BranchName = await _siteService .GetBranchName(storedReport.criterion.BranchId.Value); } if (storedReport.criterion.ProgramId.HasValue) { viewModel.ProgramName = (await _siteService .GetProgramByIdAsync(storedReport.criterion.ProgramId.Value)).Name; } if (storedReport.criterion.GroupInfoId.HasValue) { viewModel.GroupName = (await _userService .GetGroupInfoByIdAsync(storedReport.criterion.GroupInfoId.Value)).Name; } if (storedReport.criterion.SchoolDistrictId.HasValue) { viewModel.SchoolDistrictName = (await _schoolService .GetDistrictByIdAsync(storedReport.criterion.SchoolDistrictId.Value)).Name; } if (storedReport.criterion.SchoolId.HasValue) { viewModel.SchoolName = (await _schoolService .GetByIdAsync(storedReport.criterion.SchoolId.Value)).Name; } if (storedReport.criterion.VendorCodeTypeId.HasValue) { viewModel.VendorCodeName = (await _vendorCodeService .GetTypeById(storedReport.criterion.VendorCodeTypeId.Value)).Description; } viewModel.ReportSet = JsonConvert .DeserializeObject <StoredReportSet>(storedReport.request.ResultJson); foreach (var report in viewModel.ReportSet.Reports) { int count = 0; int totalRows = report.Data.Count(); var displayRows = new List <List <string> >(); if (report.HeaderRow != null) { var display = new List <string>(); foreach (var dataItem in report.HeaderRow) { display.Add(FormatDataItem(dataItem)); } report.HeaderRow = display; } foreach (var resultRow in report.Data) { var displayRow = new List <string>(); foreach (var resultItem in resultRow) { displayRow.Add(FormatDataItem(resultItem)); } displayRows.Add(displayRow); count++; } report.Data = displayRows; if (report.FooterRow != null) { var display = new List <string>(); foreach (var dataItem in report.FooterRow) { display.Add(FormatDataItem(dataItem)); } report.FooterRow = display; } } return(View(viewModel)); } catch (GraException gex) { AlertDanger = gex.Message; return(RedirectToAction("Index")); } }
public async Task <IActionResult> Edit(int id) { var trigger = await _triggerService.GetByIdAsync(id); if (trigger == null) { ShowAlertWarning($"Could not find trigger id {id}, possibly it has been deleted."); return(RedirectToAction("Index")); } var site = await GetCurrentSiteAsync(); var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var badge = await _badgeService.GetByIdAsync(trigger.AwardBadgeId); var viewModel = new TriggersDetailViewModel { Trigger = trigger, CreatedByName = await _userService.GetUsersNameByIdAsync(trigger.CreatedBy), CanViewParticipants = UserHasPermission(Permission.ViewParticipantDetails), Action = "Edit", IsSecretCode = !string.IsNullOrWhiteSpace(trigger.SecretCode), BadgeMakerUrl = GetBadgeMakerUrl(siteUrl, site.FromEmailAddress), UseBadgeMaker = true, EditAvatarBundle = UserHasPermission(Permission.ManageAvatars), EditMail = UserHasPermission(Permission.ManageTriggerMail), EditVendorCode = UserHasPermission(Permission.ManageVendorCodes), AwardsMail = !string.IsNullOrWhiteSpace(trigger.AwardMailSubject), AwardsPrize = !string.IsNullOrWhiteSpace(trigger.AwardPrizeName), DependentTriggers = await _triggerService.GetDependentsAsync(trigger.AwardBadgeId), TriggerRequirements = await _triggerService.GetTriggerRequirementsAsync(trigger), BadgeRequiredList = string.Join(",", trigger.BadgeIds), ChallengeRequiredList = string.Join(",", trigger.ChallengeIds), SystemList = new SelectList(await _siteService.GetSystemList(), "Id", "Name"), ProgramList = new SelectList(await _siteService.GetProgramList(), "Id", "Name"), IgnorePointLimits = UserHasPermission(Permission.IgnorePointLimits), MaxPointLimit = await _triggerService.GetMaximumAllowedPointsAsync(GetCurrentSiteId()), BadgeAltText = badge.AltText }; if (viewModel?.MaxPointLimit != null) { viewModel.MaxPointsMessage = $"(Up to {viewModel.MaxPointLimit.Value} points)"; } if (trigger.AwardPoints > viewModel.MaxPointLimit) { viewModel.MaxPointsWarningMessage = $"This Trigger exceeds the maximum of {viewModel.MaxPointLimit.Value} points per required task. Only Administrators can edit the points awarded."; } if (viewModel.EditVendorCode) { viewModel.VendorCodeTypeList = new SelectList( await _vendorCodeService.GetTypeAllAsync(), "Id", "Description"); } else if (viewModel.Trigger.AwardVendorCodeTypeId.HasValue) { viewModel.VendorCodeType = (await _vendorCodeService .GetTypeById(viewModel.Trigger.AwardVendorCodeTypeId.Value)).Description; } if (viewModel.EditAvatarBundle) { viewModel.UnlockableAvatarBundleList = new SelectList( await _avatarService.GetAllBundlesAsync(true), "Id", "Name"); } else if (viewModel.Trigger.AwardAvatarBundleId.HasValue) { viewModel.UnlockableAvatarBundle = (await _avatarService .GetBundleByIdAsync(viewModel.Trigger.AwardAvatarBundleId.Value)).Name; } if (viewModel.Trigger.LimitToSystemId.HasValue) { viewModel.BranchList = new SelectList( await _siteService.GetBranches(viewModel.Trigger.LimitToSystemId.Value), "Id", "Name"); } else { viewModel.BranchList = new SelectList(await _siteService.GetAllBranches(), "Id", "Name"); } foreach (var requirement in viewModel.TriggerRequirements) { if (!string.IsNullOrWhiteSpace(requirement.BadgePath)) { requirement.BadgePath = _pathResolver.ResolveContentPath(requirement.BadgePath); } } if (!string.IsNullOrWhiteSpace(viewModel.Trigger.AwardBadgeFilename)) { viewModel.BadgePath = _pathResolver.ResolveContentPath(viewModel.Trigger.AwardBadgeFilename); } if (UserHasPermission(Permission.ManageEvents)) { viewModel.RelatedEvents = await _eventService.GetRelatedEventsForTriggerAsync(id); } PageTitle = $"Edit Trigger - {viewModel.Trigger.Name}"; return(View("Detail", viewModel)); }
public async Task <IActionResult> Edit(int id) { var trigger = await _triggerService.GetByIdAsync(id); var site = await GetCurrentSiteAsync(); var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var viewModel = new TriggersDetailViewModel { Trigger = trigger, Action = "Edit", IsSecretCode = !string.IsNullOrWhiteSpace(trigger.SecretCode), BadgeMakerUrl = GetBadgeMakerUrl(siteUrl, site.FromEmailAddress), UseBadgeMaker = true, EditAvatarBundle = UserHasPermission(Permission.ManageAvatars), EditMail = UserHasPermission(Permission.ManageTriggerMail), EditVendorCode = UserHasPermission(Permission.ManageVendorCodes), AwardsMail = !string.IsNullOrWhiteSpace(trigger.AwardMailSubject), AwardsPrize = !string.IsNullOrWhiteSpace(trigger.AwardPrizeName), DependentTriggers = await _triggerService.GetDependentsAsync(trigger.AwardBadgeId), TriggerRequirements = await _triggerService.GetTriggerRequirementsAsync(trigger), BadgeRequiredList = string.Join(",", trigger.BadgeIds), ChallengeRequiredList = string.Join(",", trigger.ChallengeIds), SystemList = new SelectList((await _siteService.GetSystemList()), "Id", "Name"), ProgramList = new SelectList((await _siteService.GetProgramList()), "Id", "Name") }; if (viewModel.EditVendorCode) { viewModel.VendorCodeTypeList = new SelectList( (await _vendorCodeService.GetTypeAllAsync()), "Id", "Description"); } else if (viewModel.Trigger.AwardVendorCodeTypeId.HasValue) { viewModel.VendorCodeType = (await _vendorCodeService .GetTypeById(viewModel.Trigger.AwardVendorCodeTypeId.Value)).Description; } if (viewModel.EditAvatarBundle) { viewModel.UnlockableAvatarBundleList = new SelectList( await _dynamicAvatarService.GetAllBundlesAsync(true), "Id", "Name"); } else if (viewModel.Trigger.AwardAvatarBundleId.HasValue) { viewModel.UnlockableAvatarBundle = (await _dynamicAvatarService .GetBundleByIdAsync(viewModel.Trigger.AwardAvatarBundleId.Value)).Name; } if (viewModel.Trigger.LimitToSystemId.HasValue) { viewModel.BranchList = new SelectList( (await _siteService.GetBranches(viewModel.Trigger.LimitToSystemId.Value)), "Id", "Name"); } else { viewModel.BranchList = new SelectList((await _siteService.GetAllBranches()), "Id", "Name"); } foreach (var requirement in viewModel.TriggerRequirements) { if (!string.IsNullOrWhiteSpace(requirement.BadgePath)) { requirement.BadgePath = _pathResolver.ResolveContentPath(requirement.BadgePath); } } if (!string.IsNullOrWhiteSpace(viewModel.Trigger.AwardBadgeFilename)) { viewModel.BadgePath = _pathResolver.ResolveContentPath(viewModel.Trigger.AwardBadgeFilename); } if (UserHasPermission(Permission.ManageEvents)) { viewModel.RelatedEvents = await _eventService.GetRelatedEventsForTriggerAsync(id); } PageTitle = $"Edit Trigger - {viewModel.Trigger.Name}"; return(View("Detail", viewModel)); }