protected override void ValidateRead(List <ValidationError> errors)
        {
            if (this.EventMessage == EventLogText.Empty)
            {
                errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.ArgumentNotSet, base.Name));
                return;
            }
            int index;

            if (!Utils.CheckIsUnicodeStringWellFormed(this.eventMessage.Value, out index))
            {
                errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.CommentsHaveInvalidChars((int)this.eventMessage.Value[index]), base.Name));
                return;
            }
            base.ValidateRead(errors);
        }
 internal static void ValidateReadContainsWordsPredicate(Word[] words, string name, List <ValidationError> errors)
 {
     if (words == null || words.Length == 0)
     {
         errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.ArgumentNotSet, name));
         return;
     }
     foreach (Word word in words)
     {
         string value = word.Value;
         int    index;
         if (!string.IsNullOrEmpty(value) && !Utils.CheckIsUnicodeStringWellFormed(value, out index))
         {
             errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.CommentsHaveInvalidChars((int)value[index]), name));
             break;
         }
     }
 }
 protected override void ValidateRead(List <ValidationError> errors)
 {
     if (this.Words == null || this.Words.Length == 0)
     {
         errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.ArgumentNotSet, base.Name));
         return;
     }
     foreach (Word word in this.Words)
     {
         string value = word.Value;
         int    index;
         if (!string.IsNullOrEmpty(value) && !Utils.CheckIsUnicodeStringWellFormed(value, out index))
         {
             errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.CommentsHaveInvalidChars((int)value[index]), base.Name));
             return;
         }
     }
     base.ValidateRead(errors);
 }
        protected override void ValidateRead(List <ValidationError> errors)
        {
            if (this.Words == null || this.Words.Length == 0)
            {
                errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.ArgumentNotSet, base.Name));
                return;
            }
            Word[] words = this.Words;
            int    i     = 0;

            while (i < words.Length)
            {
                Word   word  = words[i];
                string value = word.Value;
                int    index;
                if (!string.IsNullOrEmpty(value) && !Utils.CheckIsUnicodeStringWellFormed(value, out index))
                {
                    errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.CommentsHaveInvalidChars((int)value[index]), base.Name));
                }
                else
                {
                    int num = value.IndexOf(':');
                    if (num >= 0)
                    {
                        string text = value.Substring(0, num).Trim().ToLowerInvariant();
                        if (TransportUtils.GetDisclaimerMacroLookupTable().ContainsKey(text))
                        {
                            i++;
                            continue;
                        }
                        errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.InvalidMacroName(text), base.Name));
                    }
                    else
                    {
                        errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.MacroNameNotSpecified(value), base.Name));
                    }
                }
                return;
            }
            base.ValidateRead(errors);
        }
Beispiel #5
0
 internal static void ValidateReadMatchesPatternsPredicate(Pattern[] patterns, bool useLegacyRegex, string name, List <ValidationError> errors)
 {
     if (patterns == null || patterns.Length == 0)
     {
         errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.ArgumentNotSet, name));
         return;
     }
     foreach (Pattern pattern in patterns)
     {
         string value = pattern.Value;
         if (!string.IsNullOrEmpty(value))
         {
             int index;
             if (!Utils.CheckIsUnicodeStringWellFormed(value, out index))
             {
                 errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.CommentsHaveInvalidChars((int)value[index]), name));
             }
             else
             {
                 try
                 {
                     Pattern.ValidatePattern(value, useLegacyRegex, false);
                 }
                 catch (ValidationArgumentException ex)
                 {
                     LocalizedString description = ValidationError.CombineErrorDescriptions(new List <ValidationError>
                     {
                         new RulePhrase.RulePhraseValidationError(RulesTasksStrings.InvalidRegex(value), name),
                         new RulePhrase.RulePhraseValidationError(ex.LocalizedString, name)
                     });
                     errors.Add(new RulePhrase.RulePhraseValidationError(description, name));
                 }
                 catch (ArgumentException)
                 {
                     errors.Add(new RulePhrase.RulePhraseValidationError(RulesTasksStrings.InvalidRegex(value), name));
                 }
             }
         }
     }
 }