/// <summary> /// Generates a valid SQL Server connection string based on the database settings provided in the Settings.config file /// </summary> private static string GenerateConnectionString() { var webConfigConnectionString = ConfigurationManager.ConnectionStrings[ConnectionStringName]; if (webConfigConnectionString != null) { return(webConfigConnectionString.ConnectionString); } /* Place holders: */ // {dbserver} // {integratedsecurity} // {dbname} // {dblogin} // {dbpassword} string connectionString = ConnectionStringTemplate .Replace("{dbserver}", DatabaseServer) .Replace("{integratedsecurity}", UseIntegratedSecurity.ToString()) .Replace("{dbname}", DatabaseName) .Replace("{dblogin}", DatabaseLogin) .Replace("{dbpassword}", DatabasePassword); return(connectionString); }
/// <summary> /// Graba los datos /// </summary> protected override void Save() { if (ValidateData()) { // Asigna los datos al proyecto Connection.Name = Name; Connection.Description = Description; Connection.Type = (ConnectionModel.ConnectionType)(ComboTypes.SelectedId ?? 0); Connection.Parameters[nameof(Server)] = Server; Connection.Parameters[nameof(Port)] = Port.ToString(); Connection.Parameters[nameof(User)] = User; Connection.Parameters[nameof(Password)] = Password; Connection.Parameters[nameof(Database)] = Database; Connection.Parameters[nameof(UseIntegratedSecurity)] = UseIntegratedSecurity.ToString(); Connection.Parameters[nameof(MultipleActiveResultSets)] = MultipleActiveResultSets.ToString(); Connection.Parameters[nameof(ConnectionString)] = ConnectionString; Connection.Parameters[nameof(FileName)] = FileName; Connection.TimeoutExecuteScript = TimeSpan.FromMinutes(TimeoutExecuteScriptMinutes); // Añade la conexión a la solución si es necesario if (IsNew) { SolutionViewModel.Solution.Connections.Add(Connection); } // Graba la solución SolutionViewModel.SaveSolution(); // Actualiza el combo de conexiones SolutionViewModel.ConnectionExecutionViewModel.Load(); // Indica que ya no es nuevo y está grabado IsNew = false; IsUpdated = false; // Cierra la ventana RaiseEventClose(true); } }