public async Task RemoveAsync(int triggerId) { VerifyManagementPermission(); var dependentTriggers = await _triggerRepository.DependentTriggers(triggerId); if (dependentTriggers?.Count > 0) { var ex = new GraException("Trigger has dependencies"); foreach (var dependentTrigger in dependentTriggers) { ex.Data.Add(dependentTrigger.Key, dependentTrigger.Value); } throw ex; } var trigger = await _triggerRepository.GetByIdAsync(triggerId); trigger.IsDeleted = true; trigger.SecretCode = null; trigger.BadgeIds = new List <int>(); trigger.ChallengeIds = new List <int>(); await _triggerRepository.UpdateSaveAsync(GetClaimId(ClaimType.UserId), trigger); var requireSecretCode = await _siteLookupService.GetSiteSettingBoolAsync( GetCurrentSiteId(), SiteSettingKey.Events.RequireBadge); if (!requireSecretCode) { await _eventRepository.DetachRelatedTrigger(triggerId); } }
protected string FormatMessage(GraException gex) { if (gex.Message.Contains(Environment.NewLine)) { var lines = gex.Message.Split( new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); var formatted = new StringBuilder("<ul>"); foreach (string line in lines) { formatted.Append($"<li>{line}</li>"); } formatted.Append("</ul>"); return(formatted.ToString()); } return(gex.Message); }
protected void ShowAlertWarning(string message, GraException gex) { AlertWarning = $"{Fa("exclamation-circle")} {message}{FormatMessage(gex)}"; }
protected void ShowAlertDanger(string message, GraException gex) { AlertDanger = $"{Fa("exclamation-triangle")} {message}{FormatMessage(gex)}"; }