Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <connectionStrings>
- <add name="RHContext" providerName="System.Data.SqlClient"
- connectionString="Server=SERVER;Database=BASE;
- Trusted_Connection=false;Persist Security Info=True;User Id=USUARIO;
- Password=SENHA;MultipleActiveResultSets=True"
- </connectionStrings>
- ConfigurationManager.ConnectionStrings["RHContext"].ConnectionString
- public class AppConfigManager {
- //Objeto para manipular o App.config
- private static Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- #region Singleton
- private static AppConfigManager instance;
- public static AppConfigManager Configuration
- {
- get
- {
- if (instance == null)
- instance = new AppConfigManager();
- return instance;
- }
- }
- private AppConfigManager()
- {
- this.ConnectionString = GetConnectionString("RHContext");
- }
- #endregion
- /// <summary>
- /// Retorna a string do App.config.
- /// </summary>
- public string ConnectionString { get; private set; }
- /// <summary>
- /// O path do arquivo de configuração de conexão
- /// </summary>
- public string ConnectionConfigPath
- {
- get
- {
- return Application.ExecutablePath + ".config";
- }
- }
- /// <summary>
- /// A string de conexão
- /// </summary>
- /// <param name="key"></param>
- /// <returns></returns>
- public string GetConnectionString(string key)
- {
- try
- {
- return ConfigurationManager.ConnectionStrings[key].ConnectionString;
- }
- catch (Exception)
- {
- throw new Exception("Não foi possivel obter a conexão do nome" + key);
- }
- }
- /// <summary>
- /// Altera a string de conexão do nome informado.
- /// </summary>
- /// <param name="connectionString">String a ser utilizada</param>
- public void ChangeConnectionString(string connectionString, string name)
- {
- //setando a string a ser alterada
- var cfg = config.ConnectionStrings.ConnectionStrings[name];
- //altera a string de conexão
- cfg.ConnectionString = connectionString;
- // Salva o que foi modificado
- config.Save(ConfigurationSaveMode.Modified);
- // Atualiza no app o bloco connectionStrings
- ConfigurationManager.RefreshSection("connectionStrings");
- // Recarrega os dados de conexão
- Properties.Settings.Default.Reload();
- }
- /// <summary>
- /// Add uma string de conexão.
- /// MeuAppConfig é a classe onde será mapeados os atributos da connectionString
- /// </summary>
- public static void AddConnectionString(MeuAppConfig app)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(app.User))
- app.User = "";
- if (string.IsNullOrWhiteSpace(app.Password))
- app.Password = "";
- SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder
- {
- DataSource = app.ServerName,
- InitialCatalog = app.Database,
- UserID = app.User,
- Password = app.Password,
- IntegratedSecurity = "False"
- };
- // add a conexão
- config.ConnectionStrings.ConnectionStrings.Add(
- new ConnectionStringSettings
- {
- Name = app.ConnectionName,
- ConnectionString = scsb.ConnectionString,
- ProviderName = "System.Data.SqlClient"
- });
- // salva conexão
- config.Save(ConfigurationSaveMode.Modified);
- }
- catch (Exception ex)
- {
- //Entrada já existe ou outro ...
- }
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement