private void SetAutorouteSettings(AutorouteSettings autorouteSettings, SettingsDictionary settings)
 {
     settings["AutorouteSettings.AllowCustomPattern"] = autorouteSettings.AllowCustomPattern.ToString();
     settings["AutorouteSettings.AutomaticAdjustmentOnEdit"] = autorouteSettings.AutomaticAdjustmentOnEdit.ToString();
     settings["AutorouteSettings.DefaultPatternIndex"] = autorouteSettings.DefaultPatternIndex.ToString();
     settings["AutorouteSettings.PerItemConfiguration"] = autorouteSettings.PerItemConfiguration.ToString();
     settings["AutorouteSettings.PatternDefinitions"] = autorouteSettings.PatternDefinitions;
 }
        public void ContentPartAttached(ContentPartAttachedContext context)
        {
            if (context.ContentPartName == "AutoroutePart")
            {
                // Create pattern and default pattern for each culture installed and for the neutral culture

                // Get cultures
                var SiteCultures = _cultureManager.ListCultures().ToList();

                // Adding a null culture for the culture neutral pattern
                List <string> cultures = new List <string>();
                cultures.Add(null);
                cultures.AddRange(SiteCultures);

                // Create Patterns and DefaultPatterns
                var settings = new AutorouteSettings {
                    Patterns = new List <RoutePattern>()
                };

                List <RoutePattern>   newPatterns        = new List <RoutePattern>();
                List <DefaultPattern> newDefaultPatterns = new List <DefaultPattern>();
                foreach (string culture in cultures)
                {
                    newPatterns.Add(new RoutePattern {
                        Name        = "Title",
                        Description = "my-title",
                        Pattern     = "{Content.Slug}",
                        Culture     = culture
                    });
                    newDefaultPatterns.Add(new DefaultPattern {
                        Culture      = culture,
                        PatternIndex = "0"
                    });
                }

                settings.Patterns        = newPatterns;
                settings.DefaultPatterns = newDefaultPatterns;

                //Update Settings
                _contentDefinitionManager.AlterTypeDefinition(context.ContentTypeName, builder => builder.WithPart("AutoroutePart", settings.Build));

                //TODO Generate URL's for existing content items
                //We should provide a global setting to enable/disable this feature
            }
        }