public static void UpdateRecentServerList(string databaseName, string userName, string password, AuthenticationType authType) { try { userName = Cryptography.EncryptText(userName, ConnectionHelper.ConnectCryptoKey); password = Cryptography.EncryptText(password, ConnectionHelper.ConnectCryptoKey); string configFileFullPath = Path.Combine(SqlBuildManager.Logging.Configure.AppDataPath, ConfigFileName); ServerConnectConfig config = new ServerConnectConfig(); if (File.Exists(configFileFullPath)) { config.ReadXml(configFileFullPath); } DataRow[] row = config.ServerConfiguration.Select(config.ServerConfiguration.NameColumn.ColumnName + " ='" + databaseName + "'"); if (row.Length == 0) { config.ServerConfiguration.AddServerConfigurationRow(databaseName, DateTime.Now, userName, password, authType.ToString()); } else { var r = (ServerConnectConfig.ServerConfigurationRow)row[0]; r.LastAccessed = DateTime.UtcNow; r.UserName = userName; r.Password = password; r.AuthenticationType = authType.ToString(); r.AcceptChanges(); } config.WriteXml(configFileFullPath); } catch (Exception exe) { log.LogError(exe, "Error updating Recent Server List"); } }
public static List <string> GetRecentServers(out ServerConnectConfig.ServerConfigurationDataTable serverConfigTbl) { serverConfigTbl = null; string homePath = SqlBuildManager.Logging.Configure.AppDataPath; List <string> recentDbs = new List <string>(); if (System.IO.File.Exists(Path.Combine(homePath, ConfigFileName))) { try { ServerConnectConfig config = new ServerConnectConfig(); config.ReadXml(Path.Combine(homePath, ConfigFileName)); serverConfigTbl = config.ServerConfiguration; DataView view = config.ServerConfiguration.DefaultView; view.Sort = config.ServerConfiguration.LastAccessedColumn.ColumnName + " DESC"; for (int i = 0; i < view.Count; i++) { recentDbs.Add(((ServerConnectConfig.ServerConfigurationRow)view[i].Row).Name); } } catch { } } return(recentDbs); }