private void SetNamingRuleTreeFromXElement(XElement namingRulesElement)
 {
     foreach (var namingRuleElement in namingRulesElement.Elements(nameof(SerializableNamingRule)))
     {
         NamingRules.Add(SerializableNamingRule.FromXElement(namingRuleElement));
     }
 }
        private string MethodNamesArePascalCaseOptionString()
        {
            var symbolSpecification = new SymbolSpecification(
                Guid.NewGuid(),
                "Name",
                SpecializedCollections.SingletonEnumerable(new SymbolSpecification.SymbolKindOrTypeKind(SymbolKind.Method)).ToList(),
                SpecializedCollections.EmptyList<SymbolSpecification.AccessibilityKind>(),
                SpecializedCollections.EmptyList<SymbolSpecification.ModifierKind>());

            var namingStyle = new NamingStyle();
            namingStyle.CapitalizationScheme = Capitalization.PascalCase;
            namingStyle.Name = "Name";
            namingStyle.Prefix = "";
            namingStyle.Suffix = "";
            namingStyle.WordSeparator = "";


            var namingRule = new SerializableNamingRule();
            namingRule.SymbolSpecificationID = symbolSpecification.ID;
            namingRule.NamingStyleID = namingStyle.ID;
            namingRule.EnforcementLevel = DiagnosticSeverity.Error;

            var info = new SerializableNamingStylePreferencesInfo();
            info.SymbolSpecifications.Add(symbolSpecification);
            info.NamingStyles.Add(namingStyle);
            info.NamingRules.Add(namingRule);

            return info.CreateXElement().ToString();
        }
Esempio n. 3
0
 public static NamingStylePreferences ReadFrom(ObjectReader reader)
 {
     return(new NamingStylePreferences(
                reader.ReadArray(r => SymbolSpecification.ReadFrom(r)),
                reader.ReadArray(r => NamingStyle.ReadFrom(r)),
                reader.ReadArray(r => SerializableNamingRule.ReadFrom(r))));
 }
Esempio n. 4
0
 internal static SerializableNamingRule FromXElement(XElement namingRuleElement)
 {
     var result = new SerializableNamingRule();
     result.EnforcementLevel = (DiagnosticSeverity)Enum.Parse(typeof(DiagnosticSeverity), namingRuleElement.Attribute(nameof(EnforcementLevel)).Value);
     result.NamingStyleID = Guid.Parse(namingRuleElement.Attribute(nameof(NamingStyleID)).Value);
     result.SymbolSpecificationID = Guid.Parse(namingRuleElement.Attribute(nameof(SymbolSpecificationID)).Value);
     return result;
 }
Esempio n. 5
0
        internal static SerializableNamingRule FromXElement(XElement namingRuleElement)
        {
            var result = new SerializableNamingRule();

            result.EnforcementLevel      = (DiagnosticSeverity)Enum.Parse(typeof(DiagnosticSeverity), namingRuleElement.Attribute(nameof(EnforcementLevel)).Value);
            result.NamingStyleID         = Guid.Parse(namingRuleElement.Attribute(nameof(NamingStyleID)).Value);
            result.SymbolSpecificationID = Guid.Parse(namingRuleElement.Attribute(nameof(SymbolSpecificationID)).Value);
            return(result);
        }
Esempio n. 6
0
        internal static SerializableNamingRule FromXElement(XElement namingRuleElement)
        {
            var result = new SerializableNamingRule();
            result.Title = namingRuleElement.Attribute(nameof(Title)).Value;
            result.EnforcementLevel = (DiagnosticSeverity)Enum.Parse(typeof(DiagnosticSeverity), namingRuleElement.Attribute(nameof(EnforcementLevel)).Value);
            result.NamingStyleID = Guid.Parse(namingRuleElement.Attribute(nameof(NamingStyleID)).Value);
            result.SymbolSpecificationID = Guid.Parse(namingRuleElement.Attribute(nameof(SymbolSpecificationID)).Value);

            result.Children = new List<SerializableNamingRule>();
            foreach (var childElement in namingRuleElement.Elements(nameof(SerializableNamingRule)))
            {
                result.Children.Add(FromXElement(childElement));
            }

            return result;
        }
Esempio n. 7
0
        internal static SerializableNamingRule FromXElement(XElement namingRuleElement)
        {
            var result = new SerializableNamingRule();

            result.Title                 = namingRuleElement.Attribute(nameof(Title)).Value;
            result.EnforcementLevel      = (DiagnosticSeverity)Enum.Parse(typeof(DiagnosticSeverity), namingRuleElement.Attribute(nameof(EnforcementLevel)).Value);
            result.NamingStyleID         = Guid.Parse(namingRuleElement.Attribute(nameof(NamingStyleID)).Value);
            result.SymbolSpecificationID = Guid.Parse(namingRuleElement.Attribute(nameof(SymbolSpecificationID)).Value);

            result.Children = new List <SerializableNamingRule>();
            foreach (var childElement in namingRuleElement.Elements(nameof(SerializableNamingRule)))
            {
                result.Children.Add(FromXElement(childElement));
            }

            return(result);
        }
        private static bool TryGetSerializableNamingRule(
            string namingRuleTitle,
            SymbolSpecification symbolSpec,
            NamingStyle namingStyle,
            IReadOnlyDictionary <string, string> conventionsDictionary,
            out SerializableNamingRule serializableNamingRule)
        {
            if (!TryGetRuleSeverity(namingRuleTitle, conventionsDictionary, out var severity))
            {
                serializableNamingRule = null;
                return(false);
            }

            serializableNamingRule = new SerializableNamingRule()
            {
                EnforcementLevel      = severity,
                NamingStyleID         = namingStyle.ID,
                SymbolSpecificationID = symbolSpec.ID
            };

            return(true);
        }
        internal override void SaveSettings()
        {
            var info = new SerializableNamingStylePreferencesInfo();

            foreach (var item in _viewModel.CodeStyleItems)
            {
                if (!item.IsComplete())
                {
                    continue;
                }

                var rule = new SerializableNamingRule()
                {
                    EnforcementLevel = item.SelectedNotificationPreference.Notification.Value,
                    NamingStyleID = item.SelectedStyle.ID,
                    SymbolSpecificationID = item.SelectedSpecification.ID
                };

                info.NamingRules.Add(rule);
            }

            foreach (var item in _viewModel.Specifications)
            {
                info.SymbolSpecifications.Add(item);
            }

            foreach (var item in _viewModel.NamingStyles)
            {
                info.NamingStyles.Add(item);
            }

            var oldOptions = OptionService.GetOptions();
            var newOptions = oldOptions.WithChangedOption(SimplificationOptions.NamingPreferences, _languageName, info.CreateXElement().ToString());
            OptionService.SetOptions(newOptions);
            OptionLogger.Log(oldOptions, newOptions);
        }
 private void CreateNamingRuleTreeHelper(List<SerializableNamingRule> result, IList<NamingRuleTreeItemViewModel> children)
 {
     foreach (var child in children)
     {
         var childTree = new SerializableNamingRule
         {
             Title = child.Title,
             Children = new List<SerializableNamingRule>(),
             SymbolSpecificationID = child.symbolSpec?.ID ?? Guid.Empty,
             NamingStyleID = child.namingStyle?.ID ?? Guid.Empty,
             EnforcementLevel = child.EnforcementLevel.Value
         };
         CreateNamingRuleTreeHelper(childTree.Children, child.Children);
         result.Add(childTree);
     }
 }