Пример #1
0
        /// <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();
            }
        }
Пример #2
0
        /// <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);
        }