public void ParseDatabaseAndLanguages([NotNull] string databasesAndLanguages) { Assert.ArgumentNotNull(databasesAndLanguages, nameof(databasesAndLanguages)); foreach (var pair in databasesAndLanguages.Split('|')) { var parts = pair.Split('^'); var database = Factory.GetDatabase(parts[0]); if (database == null) { continue; } for (var i = 1; i < parts.Length; i++) { var languageName = parts[i]; var language = LanguageManager.GetLanguage(languageName, database); if (language != null) { DatabasesAndLanguages.Add(new DatabaseLanguageDescriptor(database, language)); } } } }
private void UpdateConfigFile() { var writer = new StringWriter(); var output = new XmlTextWriter(writer) { Formatting = Formatting.Indented }; var ignore = new List <string>(); if (!string.IsNullOrEmpty(InactiveValidations)) { ignore.AddRange(InactiveValidations.Split(SplitterChars, StringSplitOptions.RemoveEmptyEntries)); } output.WriteStartElement("SitecoreRocksValidation"); Site.Connection.Save(output); var databases = DatabasesAndLanguages.Split('|'); foreach (var database in databases) { var parts = database.Split('^'); var databaseName = parts[0]; var languages = string.Join(",", parts.Skip(1)); output.WriteStartElement("Validate"); output.WriteAttributeString("DatabaseName", databaseName); output.WriteAttributeString("Languages", languages); output.WriteAttributeString("Context", "Site"); if (ignore.Any()) { foreach (var validation in ignore) { output.WriteStartElement("Ignore"); output.WriteValue(validation); output.WriteEndElement(); } } output.WriteEndElement(); } output.WriteEndElement(); ConfigFileTextBox.Text = writer.ToString(); }