예제 #1
0
        }     // end BindDate

        /// <summary>
        /// Configura una conexión a un servidor de metadata de Artus
        /// </summary>
        /// <returns></returns>
        private ConexionMetaDataArtus SetConn()
        {
            //  Obtenemos el objeto de conexión de la fuente de datos
            ConexionMetaDataArtus conn =
                (ConexionMetaDataArtus)this.conexionArtusBindingSource.Current;

            //  Instanciamos un asistente de sql
            //  que prueba la conexión al instancia la clase
            SqlServerHelper sqlDB =
                new SqlServerHelper(
                    conn.Servidor,
                    conn.BaseDatos,
                    conn.Usuario,
                    conn.Password
                    );

            //  Regresamos la conexión
            return(conn);
        } // end SetConn
예제 #2
0
        /// <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
예제 #3
0
        /// <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