/// <summary> /// /// </summary> /// <param name="settings"></param> public static void SaveSettings(LoginSettingsContainer settings) { XmlWriterSettings xmlWriterSettings = new XmlWriterSettings(); xmlWriterSettings.ConformanceLevel = ConformanceLevel.Fragment; xmlWriterSettings.Indent = true; try { XmlWriter writer = XmlWriter.Create(FilePath, xmlWriterSettings); writer.WriteStartElement(LoginSettings); writer.WriteElementString(LastConnectedServer, settings.LastConnectedServer); string servers = ""; foreach (string server in settings.Servers) { if (servers.Length > 0) { servers = servers + separators[0] + server; } else { servers = server; } } if (!servers.Contains(settings.LastConnectedServer)) { if (servers.Length == 0) { servers = settings.LastConnectedServer; } else { servers = servers + separators[0] + settings.LastConnectedServer; } } writer.WriteElementString(ServerNames, servers); writer.WriteElementString(AuthenticationType, settings.IsSimpleAuthentication.ToString()); if (settings.IsSimpleAuthentication) { writer.WriteElementString(SaveLoginPassword, settings.SaveUsernamePassword.ToString()); writer.WriteElementString(Login, settings.Username); if (settings.SaveUsernamePassword) { writer.WriteElementString(Password, settings.Password); } } writer.WriteEndElement(); writer.Close(); } catch (Exception ex) { ex.ToString(); } }
/// <summary> /// Считать настройки подключения /// </summary> /// <returns>Объект, содержащий настройки подключения</returns> public static LoginSettingsContainer ReadSettings() { LoginSettingsContainer settings = new LoginSettingsContainer(); XmlReaderSettings xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.ConformanceLevel = ConformanceLevel.Fragment; xmlReaderSettings.IgnoreWhitespace = true; xmlReaderSettings.IgnoreComments = true; XmlReader reader = null; try { reader = XmlReader.Create(FilePath, xmlReaderSettings); reader.ReadStartElement(LoginSettings); settings.LastConnectedServer = reader.ReadElementString(LastConnectedServer); settings.Servers = reader.ReadElementString(ServerNames).Split(Separators); settings.IsSimpleAuthentication = bool.Parse(reader.ReadElementString(AuthenticationType)); if (settings.IsSimpleAuthentication) { settings.SaveUsernamePassword = bool.Parse(reader.ReadElementString(SaveLoginPassword)); settings.Username = reader.ReadElementString(Login); if (settings.SaveUsernamePassword) { settings.Password = reader.ReadElementString(Password); } } reader.ReadEndElement(); reader.Close(); } catch {} if (reader != null) { reader.Close(); } return(settings); }