internal ReportingDescriptor CreateRule(RuleVersionOne v1Rule)
        {
            ReportingDescriptor rule = null;

            if (v1Rule != null)
            {
                rule = new ReportingDescriptor
                {
                    FullDescription = CreateMultiformatMessageString(v1Rule.FullDescription),
                    HelpUri         = v1Rule.HelpUri,
                    Id               = v1Rule.Id,
                    MessageStrings   = v1Rule.MessageFormats.ConvertToMultiformatMessageStringsDictionary(),
                    Name             = v1Rule.Name,
                    Properties       = v1Rule.Properties,
                    ShortDescription = CreateMultiformatMessageString(v1Rule.ShortDescription)
                };

                FailureLevel level = Utilities.CreateReportingConfigurationDefaultLevel(v1Rule.DefaultLevel);

                rule.DefaultConfiguration = new ReportingConfiguration
                {
                    Level   = level,
                    Enabled = v1Rule.Configuration != RuleConfigurationVersionOne.Disabled
                };
            }

            return(rule);
        }
        internal Rule CreateRule(RuleVersionOne v1Rule)
        {
            Rule rule = null;

            if (v1Rule != null)
            {
                rule = new Rule
                {
                    FullDescription = CreateMessage(v1Rule.FullDescription),
                    HelpUri         = v1Rule.HelpUri,
                    Id               = v1Rule.Id,
                    MessageStrings   = v1Rule.MessageFormats,
                    Name             = CreateMessage(v1Rule.Name),
                    Properties       = v1Rule.Properties,
                    ShortDescription = CreateMessage(v1Rule.ShortDescription)
                };

                RuleConfigurationDefaultLevel level = Utilities.CreateRuleConfigurationDefaultLevel(v1Rule.DefaultLevel);

                if (v1Rule.Configuration == RuleConfigurationVersionOne.Enabled ||
                    level != RuleConfigurationDefaultLevel.Warning)
                {
                    rule.Configuration = new RuleConfiguration
                    {
                        DefaultLevel = level,
                        Enabled      = v1Rule.Configuration == RuleConfigurationVersionOne.Enabled
                    };
                }
            }

            return(rule);
        }
        internal static RuleVersionOne CreateRuleVersionOne(ReportingDescriptor v2ReportingDescriptor)
        {
            RuleVersionOne rule = null;

            if (v2ReportingDescriptor != null)
            {
                rule = new RuleVersionOne
                {
                    FullDescription = v2ReportingDescriptor.FullDescription?.Text,
                    HelpUri         = v2ReportingDescriptor.HelpUri,
                    Id               = v2ReportingDescriptor.Id,
                    MessageFormats   = ConvertToV1MessageStringsDictionary(v2ReportingDescriptor.MessageStrings),
                    Name             = v2ReportingDescriptor.Name,
                    Properties       = v2ReportingDescriptor.Properties,
                    ShortDescription = v2ReportingDescriptor.ShortDescription?.Text
                };

                if (v2ReportingDescriptor.DefaultConfiguration != null)
                {
                    rule.Configuration = v2ReportingDescriptor.DefaultConfiguration.Enabled ?
                                         RuleConfigurationVersionOne.Enabled :
                                         RuleConfigurationVersionOne.Disabled;
                    rule.DefaultLevel = Utilities.CreateResultLevelVersionOne(v2ReportingDescriptor.DefaultConfiguration.Level);
                }
            }

            return(rule);
        }
示例#4
0
        internal RuleVersionOne CreateRule(Rule v2Rule)
        {
            RuleVersionOne rule = null;

            if (v2Rule != null)
            {
                rule = new RuleVersionOne
                {
                    FullDescription = v2Rule.FullDescription?.Text,
                    HelpUri         = v2Rule.HelpUri,
                    Id               = v2Rule.Id,
                    MessageFormats   = v2Rule.MessageStrings,
                    Name             = v2Rule.Name?.Text,
                    Properties       = v2Rule.Properties,
                    ShortDescription = v2Rule.ShortDescription?.Text
                };

                if (v2Rule.Configuration != null)
                {
                    rule.Configuration = v2Rule.Configuration.Enabled ?
                                         RuleConfigurationVersionOne.Enabled :
                                         RuleConfigurationVersionOne.Disabled;
                    rule.DefaultLevel = Utilities.CreateResultLevelVersionOne(v2Rule.Configuration.DefaultLevel);
                }
            }

            return(rule);
        }
        private static IDictionary <string, RuleVersionOne> ConvertRulesArrayToDictionary(
            IList <ReportingDescriptor> v2Rules,
            IDictionary <int, string> v2RuleIndexToV1KeyMap)
        {
            IDictionary <string, RuleVersionOne> v1Rules = null;

            if (v2Rules != null)
            {
                v1Rules = new Dictionary <string, RuleVersionOne>();
                for (int i = 0; i < v2Rules.Count; ++i)
                {
                    ReportingDescriptor v2Rule = v2Rules[i];

                    RuleVersionOne v1Rule = CreateRuleVersionOne(v2Rule);
                    string         key    = GetV1RuleKeyFromV2Index(i, v2RuleIndexToV1KeyMap);

                    v1Rules[key] = v1Rule;
                }
            }

            return(v1Rules);
        }