protected void btnInsertar_Click(object sender, EventArgs e)
    {
        TipoPractica practica = new TipoPractica();

        //Configurar los valores para ejecutar el comando: INSERT.
        practica.codigo = "PR2";
        practica.nombrePracticas = "practoca2";
        practica.descripcion = "practicas";
        practica.horasMinimo = 200;
        practica.creditosMinimo = 100;

        TipoPracticaDAL practicasDal = new TipoPracticaDAL();

        ////PRIMERA version del metodo: Insert. Utiliza SQL embebido.
        //int autonumerico = customersDAL.Insert(customer);

        //SEGUNDA version del metodo: Insert.  Utiliza Stored Procedure.
        int autonumerico = practicasDal.Insert(practica, "p_insert_tipo_practica");

        //  int autonumerico = alumnoDAL.Insert(alumno);

        // MessageBox.Show(autonumerico.ToString(), "AUTONUMERICO");

        Label1.Text = autonumerico.ToString();
    }
        public int Insert(TipoPractica practica)
        {
            DatabaseHelper db = new DatabaseHelper();

            //Preparar la sentencia "INSERT".
            string sentenciaInsert = "INSERT INTO alumnos (COD_TIP_PRAC,NOMBRE_PRAC,DES_PRAC,HORAS_MIN,CRED_MIN) " +
            "VALUES (@COD_TIP_PRAC, @NOMBRE_PRAC, @DES_PRAC, @HORAS_MIN, @CRED_MIN)";

            //Como el comando SQL tiene parametros, crear y agregar los parámetros a la
            //propiedad "Parameters" del "Command".
            db.AddParameter("@COD_TIP_PRAC", practica.codigo);
            db.AddParameter("@NOMBRE_PRAC", practica.nombre);
            db.AddParameter("@DES_PRAC", practica.descripcion);
            db.AddParameter("@HORAS_MIN", practica.horasMinimas);
            db.AddParameter("@CRED_MIN", practica.creditosminimo);

            //Utilizar la PRIMERA version del método: ExecuteNonQuery().
            db.ExecuteNonQuery(sentenciaInsert);

            //Preparar la sentencia SELECT para recuperar el último "AUTONUMERICO" que
            //genero al base de datos al ejecutar la sentencia  "INSERT" anterior.
            //string sentenciaSelect = "SELECT IDENT_CURRENT('Customers') " +
            //                         "FROM Customers";

            ////Ejecutar el comando y recuperar el código generado por la base de datos.
            ////Utilizar la PRIMERA version del método: ExecuteScalar().
            //int customerID = Convert.ToInt32(db.ExecuteScalar(sentenciaSelect));

            return 1;
        }
        /// <summary>
        /// Elimina un registro en la tabla "Alumnos" utilizando un stored procedure.
        /// </summary>
        /// <param name="CED_ALU">Clave primaria del registro a eliminar</param>
        /// <param name="storedProcedure">Nombre del stored procedure</param>
        /// <returns>true si se elimina, false caso contrario</returns>
        public int Delete(TipoPractica practica)
        {
            DatabaseHelper db = new DatabaseHelper();

            //Preparar la sentencia "INSERT".
            string sentenciaDelete = "DELETE TIPO_PRACTICA WHERE COD_TIP_PRAC=@COD_TIP_PRAC";

            //Como el comando SQL tiene parametros, crear y agregar los parámetros a la
            //propiedad "Parameters" del "Command".
            db.AddParameter("@COD_TIP_PRAC", practica.codigo);

            //Utilizar la PRIMERA version del método: ExecuteNonQuery().
            int resul = db.ExecuteNonQuery(sentenciaDelete);

            //Preparar la sentencia SELECT para recuperar el último "AUTONUMERICO" que
            //genero al base de datos al ejecutar la sentencia  "INSERT" anterior.
            //string sentenciaSelect = "SELECT IDENT_CURRENT('Customers') " +
            //                         "FROM Customers";

            ////Ejecutar el comando y recuperar el código generado por la base de datos.
            ////Utilizar la PRIMERA version del método: ExecuteScalar().
            //int customerID = Convert.ToInt32(db.ExecuteScalar(sentenciaSelect));

            return resul;
        }
    protected void btnActualizar_Click(object sender, EventArgs e)
    {
        TipoPractica practica = new TipoPractica();
        //Configurar los valores para ejecutar el comando: INSERT.
        practica.codigo = "PR2";
        practica.nombrePracticas = "practoca2 actualizada";
        practica.descripcion = "practicas";
        practica.horasMinimo = 300;
        practica.creditosMinimo = 150;

        string cadenaAviso = "";
        string tipoAviso = "";
        string aviso = "";

        TipoPracticaDAL practicasDal = new TipoPracticaDAL();

        try
        {
            int autonumerico = practicasDal.Update(practica, "p_update_TIPO_PRACTICA");

            //Mostrar mensaje alerta personalizado
            if (autonumerico >= 1)
            {
                cadenaAviso = "Registro Actualizado correctamente!";
                tipoAviso = "success";
                aviso = "Buen Trabajo!";
                ClientScript.RegisterStartupScript(GetType(), "mostrarMensaje", "MostrarMensaje('" + aviso + "','" + cadenaAviso + "','" + tipoAviso + "')", true);
                //Label1.Text = autonumerico.ToString();
            }
            else
            {
                cadenaAviso = "Registro no Actualizado!";
                tipoAviso = "warning";
                aviso = "Fallo Actualizacion!";
                ClientScript.RegisterStartupScript(GetType(), "mostrarMensaje", "MostrarMensaje('" + aviso + "','" + cadenaAviso + "','" + tipoAviso + "')", true);
                //Label1.Text = autonumerico.ToString();
            }
        }
        catch (Exception ex)
        {
            cadenaAviso = "Registro no Actualizado!";
            tipoAviso = "";
            ClientScript.RegisterStartupScript(GetType(), "mostrarMensaje", "MostrarMensaje('" + cadenaAviso + "','" + tipoAviso + "')", true);
        }
    }
        /// <summary>
        /// Inserta un registro en la tabla "Alumnos" utilizando stored procedures.
        /// </summary>
        /// <param name="alumno">Objeto de negocio para pasar datos</param>
        /// <returns>Un entero con el autonumerico generado por la BD</returns>
        public int Insert(TipoPractica practica, string storedProcedure)
        {
            DatabaseHelper db = new DatabaseHelper();

            //Como el STORED PROCEDURE tiene parametros, crear y agregar los parámetros a la
            //propiedad "Parameters" del "Command".
            db.AddParameter("@COD_TIP_PRAC", practica.codigo);
            db.AddParameter("@NOMBRE_PRAC", practica.nombre);
            db.AddParameter("@DES_PRAC", practica.descripcion);
            db.AddParameter("@HORAS_MIN", practica.horasMinimas);
            db.AddParameter("@CRED_MIN", practica.creditosminimo);

            //Utilizar la TERCERA version del método: ExecuteNonQuery().
            int i = db.ExecuteNonQuery(storedProcedure, CommandType.StoredProcedure);

            //Ejecutar el comando y recuperar el código generado por la base de datos.
            //Utilizar la TERCERA version del método: ExecuteScalar().
            // int customerID = Convert.ToInt32(db.ExecuteScalar("p_select_customers_autonumerico", CommandType.StoredProcedure));

            return i;
        }