Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 protected void ShowAlertWarning(string message, GraException gex)
 {
     AlertWarning = $"{Fa("exclamation-circle")} {message}{FormatMessage(gex)}";
 }
Exemplo n.º 4
0
 protected void ShowAlertDanger(string message, GraException gex)
 {
     AlertDanger = $"{Fa("exclamation-triangle")} {message}{FormatMessage(gex)}";
 }