/// <summary> /// Maneja el evento "Click" del control "GuardarButton" /// </summary> /// <param name="sender">El control "GuardarButton"</param> /// <param name="e">Los eventos del argumento</param> private void GuardarButton_Click(object sender, EventArgs e) { try { // Abrir conexiones // Agregar conexion // Guardar conexiones // Salir // Instanciamos el administrador de conexiones AdminConexiones admin = new AdminConexiones(); // Cargamos las conexiones actuales admin.CargarConexiones(); // Obtenemos la conexión ConexionMetaDataArtus conn = SetConn(); // Variable para determinar si la conexión existe bool existe = false; int index = 0; // Verificamos la existencia de la conexión if (admin.Conexiones.ConexionesMetaDataArtus.Count > 0) { // Recorremos las conexiónes foreach (ConexionMetaDataArtus connArtus in admin.Conexiones.ConexionesMetaDataArtus) { // Comparamos por nombre if (connArtus.Nombre.ToUpper().Equals(conn.Nombre.ToUpper())) { // Si existe, salimos del foreach existe = true; index = admin.Conexiones.ConexionesMetaDataArtus.IndexOf(connArtus); break; } // end if } // end foreach // Si existe if (existe) { // Si fue declarada como nueva conexión if (EsNueva) { throw new Exception("El nombre de la conexión ya existe. Elije otro o actualiza la conexión existente"); } // La actualizamos admin.Conexiones.ConexionesMetaDataArtus[index].Servidor = conn.Servidor; admin.Conexiones.ConexionesMetaDataArtus[index].BaseDatos = conn.BaseDatos; admin.Conexiones.ConexionesMetaDataArtus[index].Usuario = conn.Usuario; admin.Conexiones.ConexionesMetaDataArtus[index].Password = conn.Password; } else // Si no { // La agregamos admin.Conexiones.ConexionesMetaDataArtus.Add(SetConn()); } } else // Si la colección está vacía { // Agregamos las nueva conexión admin.Conexiones.ConexionesMetaDataArtus.Add(SetConn()); } // Guardamos las conexiones admin.Guardar(); // Informamos de éxito MessageBox.Show( "Conexión guardada exitosamente", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information ); // Recargamos las conexiones MyForms.Conexiones.CargarConexionesArtus(); // Por si se abre en modal this.DialogResult = System.Windows.Forms.DialogResult.OK; // Cerramos la forma this.Close(); } catch (Exception ex) { MessageBox.Show( ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning ); } // end catch } // end GuardarButton_Click
/// <summary> /// Maneja el evento "CellClick" del control "conexionArtusDataGridView" /// </summary> /// <param name="sender">El control "conexionArtusDataGridView"</param> /// <param name="e">Los argumentos del evento</param> private void conexionArtusDataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { try { // Dependiendo de la celda seleccionada DataGridViewColumn columna = this.conexionArtusDataGridView.Columns[e.ColumnIndex]; // Si es la columna de eliminar la conexión if (columna.Name.Equals("EliminarConexion")) { // Mensaje a mostrar al usuario, para confirmar la eliminación string msg = @"¿Realmente desea eliminar la conexión?"; // Instanciamos un dialogo de confirmación DialogResult dialogResult = MessageBox.Show( msg, "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question ); // Si el usuario confirmó la eliminación if (dialogResult == System.Windows.Forms.DialogResult.Yes) { // Obtenemos el dato de la conexión de Artus // del renglón seleccionado ConexionMetaDataArtus artusConn = (ConexionMetaDataArtus)this.conexionArtusDataGridView.Rows[e.RowIndex].DataBoundItem; // Inicializamos el administrador de conexiones // Eliminamos la conexión // Guardamos AdminConexiones adminConexiones = new AdminConexiones(); adminConexiones.CargarConexiones(); adminConexiones.Conexiones.ConexionesMetaDataArtus.Remove(artusConn); adminConexiones.Guardar(); // Recargamos las conexiones de artus MyForms.Conexiones.CargarConexionesArtus(); } } else if (columna.Name.Equals("EditConexion")) // si la columna es la de actualización { // Obtenemos el dato de la conexión de Artus // del renglón seleccionado ConexionMetaDataArtus artusConn = (ConexionMetaDataArtus)this.conexionArtusDataGridView.Rows[e.RowIndex].DataBoundItem; // Abrimosla pantalla para actualizar la conexión // Establecemos que la conexión NO es nueva MyForms.ConexionMetadataArtus.EsNueva = false; // Establecemos la conexión a modificar MyForms.ConexionMetadataArtus.Conexion = artusConn; // Mandamos llamar a BindData MyForms.ConexionMetadataArtus.BindData(); // Mostramos la forma MyForms.ConexionMetadataArtus.Show(); } // end else if } catch (Exception ex) { MessageBox.Show( ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning ); } // end catch } // end NuevaConexionArtusLinkLabel_LinkClicked