protected void btnAgregarDetalle_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Stay_Tab_Error", "stayTabWork();", true);
            clsRecurso objRecurso = new clsRecurso(Convert.ToInt32(ddlRecursos.SelectedValue));

            if (Convert.ToInt32(objRecurso.obtenerCantidad().Rows[0][0]) >= Convert.ToInt32(txtCantidadRecurso.Text))
            {
                clsTarea         objTarea        = new clsTarea(Convert.ToInt32(txtIdTarea.Text));
                clsDetallesTarea objDetalleTarea = new clsDetallesTarea(0, objTarea, objRecurso, txtMontoRecurso.Text, Convert.ToInt32(txtCantidadRecurso.Text));
                if (objDetalleTarea.nuevoDetalleTarea(Convert.ToInt32(txtIdProyecto_Tarea.Text), txtCostoTarea.Text))
                {
                    cargarProyectos();
                    cargarTarea();
                    cargarRecurso();
                    ActualizarCampos();
                    limpiarCamporDetalles();
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "Conexion_Error", "alert('Error al tratar de crear el detalle');", true);
                }
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Conexion_Error", "alert('No ha suficientes recursos, actualizar el stock');", true);
            }
        }
        private void cargarDetallesTarea()
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Stay_Tab_Error", "stayTabWork();", true);
            clsDetallesTarea objDetalleTarea = new clsDetallesTarea();

            gvDetallesTarea.DataSource = objDetalleTarea.consultarDetallesTarea(Convert.ToInt32(txtIdTarea.Text));
            gvDetallesTarea.DataBind();
        }
        protected void gvDetallesTarea_SelectedIndexChanged(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Stay_Tab_Error", "stayTabWork();", true);
            clsTarea         objTarea        = new clsTarea(Convert.ToInt32(txtIdTarea.Text));
            clsDetallesTarea objDetalleTarea = new clsDetallesTarea(Convert.ToInt32(gvDetallesTarea.Rows[gvDetallesTarea.SelectedIndex].Cells[1].Text), objTarea);

            if (objDetalleTarea.eliminarDetalle(Convert.ToInt32(txtIdProyecto_Tarea.Text), txtCostoTarea.Text))
            {
                cargarProyectos();
                cargarTarea();
                ActualizarCampos();
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Conexion_Error", "alert('Error al tratar de eliminar el detalle');", true);
            }
        }