protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        try
        {
            // e es el evento que contiene el comando
            // obtiene los valores entregado por el gridview para analizarlos dependiendo el boton presionado
            if (e.CommandArgument.Equals("Vacio"))
            {
            }
            else
            {
                int index = Convert.ToInt32(e.CommandArgument);
                //Convierte el index obtenido en una row (rl registro completo), con todos los valores que muestra en el grid view

                GridViewRow row = GridView1.Rows[index];
                //Obtiene el valor del index con el Argumento "((GridViewRow) Container).RowIndex" enviado a travez del boton desde el gridview

                Label codigo = (Label)row.FindControl("Codigo");


                switch (e.CommandName)
                {
                case "Modificar":
                    Observacion obj = DatosObservacion.BuscarObservacion(Convert.ToInt32(codigo.Text));
                    if (DateTime.Parse(obj.FechaCierre).Year < 2000)
                    {
                        txtCodigo.Text = codigo.Text;
                        DateTime fecha = DateTime.Parse(obj.FechaCierre);
                        txtFecha.Text = fecha.ToString("yyyy-MM-dd");
                        if (txtFecha.Text == "1900-01-01")
                        {
                            txtFecha.Text = DateTime.Now.ToString("yyyy-MM-dd");
                        }
                        txtDescripcion.Text = obj.DescObservacion;
                        //cboPartida.SelectedValue = obj.Partida.Id + "";
                        cboEstadoReparacion.SelectedValue = obj.EstadoReparacion.Id + "";
                        cboTipoObservacion.SelectedValue  = obj.TipoObservacion.Id + "";
                        cboTipoObservacion.SelectedValue  = obj.TipoObservacion.Id + "";
                        txtComentario.Text = obj.Reparacion;
                    }
                    else
                    {
                        divMensaje.Attributes.Add("class", "alert alert-danger col-md-8");
                        lblMensaje.Text = "No se puede modificar una Observación CERRADA";
                    }
                    break;
                }
            }
        }
        catch (Exception ex)
        {
            divMensaje.Attributes.Add("class", "alert alert-danger col-md-8");
            lblMensaje.Text = ex.Message;
        }
    }
    //public static bool ModificarCoordinacion(Coordinacion obj)
    //{
    //    try
    //    {
    //        bool agregado = false;
    //        Conexion c = new Conexion();
    //        string servidor = c.cadena();

    //        using (SqlConnection conn = new SqlConnection(servidor))
    //        {
    //            using (SqlCommand cmd = new SqlCommand
    //            {
    //                Connection = conn,
    //                CommandType = CommandType.StoredProcedure,
    //                CommandText = "P_MODIFICAR_COORDINACION"
    //            }
    //            )
    //            {
    //                cmd.Parameters.AddWithValue("@PIN_CODIGO", SqlDbType.VarChar).Value = obj.Id;
    //                cmd.Parameters.AddWithValue("@PIN_DESCRIPCION", SqlDbType.VarChar).Value = obj.Descripcion;
    //                cmd.Parameters.AddWithValue("@PIN_DESCRIPCION", SqlDbType.VarChar).Value = obj.Descripcion;
    //                cmd.Parameters.AddWithValue("@PIN_DESCRIPCION", SqlDbType.VarChar).Value = obj.Descripcion;
    //                cmd.Parameters.AddWithValue("@PIN_ESTADO", SqlDbType.TinyInt).Value = obj.Estado;

    //                conn.Open();
    //                cmd.ExecuteNonQuery();
    //                agregado = true;
    //            }
    //        }
    //        return agregado;
    //    }
    //    catch (Exception ex)
    //    {
    //        throw new Exception(ex.Message);
    //    }
    //}

    public static Coordinacion BuscarCoordinacion(int codigo)
    {
        try
        {
            Coordinacion obj = new Coordinacion();

            Conexion c = new Conexion();

            string servidor = c.cadena();

            SqlConnection conexion = new SqlConnection(servidor);
            SqlCommand    comando  = new SqlCommand
            {
                Connection  = conexion,
                CommandType = CommandType.StoredProcedure,
                CommandText = "P_BUSCAR_COORDINACION"
            };

            SqlParameter parametro = new SqlParameter
            {
                ParameterName = "@PIN_CODIGO",
                SqlDbType     = SqlDbType.Int,
                Value         = codigo
            };

            comando.Parameters.Add(parametro);
            SqlDataAdapter myDA = new SqlDataAdapter(comando);
            DataTable      dt   = new DataTable();
            myDA.Fill(dt);
            obj.Id          = Convert.ToInt32(dt.Rows[0]["CODIGO"].ToString());
            obj.Observacion = DatosObservacion.BuscarObservacion(Convert.ToInt32(dt.Rows[0]["OBSERVACION"].ToString()));
            obj.Fecha       = dt.Rows[0]["FECHA"].ToString();
            obj.HoraInicio  = DatosHoras.BuscarHora(Convert.ToInt32(dt.Rows[0]["HORA_INICIO"].ToString()));
            obj.HoraTermino = DatosHoras.BuscarHora(Convert.ToInt32(dt.Rows[0]["HORA_TERMINO"].ToString()));
            obj.Estado      = Convert.ToInt32(dt.Rows[0]["ESTADO"].ToString());
            return(obj);
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }
    protected void btnModificar_Click(object sender, EventArgs e)
    {
        try
        {
            if ((cboTipoObservacion.SelectedValue == "0" || cboTipoObservacion.SelectedValue == "10") && (cboEstadoReparacion.SelectedValue == "7" || cboEstadoReparacion.SelectedValue == "8" || cboEstadoReparacion.SelectedValue == "10"))
            {
                lblMensajePopUp.Text = "Debe seleccionar un Tipo de observacion";
                divMensajePopUp.Attributes.Add("class", "alert alert-danger");
            }
            else
            {
                lblMensajePopUp.Text = "";
                Observacion obj = DatosObservacion.BuscarObservacion(Convert.ToInt32(txtCodigo.Text));
                if ((cboEstadoReparacion.SelectedValue == "7" || cboEstadoReparacion.SelectedValue == "8" || cboEstadoReparacion.SelectedValue == "10"))
                {
                    obj.FechaCierre = txtFecha.Text;
                    obj.Estatus     = 1;
                }
                obj.DescObservacion = txtDescripcion.Text;
                //obj.Partida = DatosPartida.BuscarPartida(Convert.ToInt32(cboPartida.SelectedValue));
                obj.EstadoReparacion = DatosEstadoReparacion.BuscarEstadoReparacion(Convert.ToInt32(cboEstadoReparacion.SelectedValue));
                obj.TipoObservacion  = DatosTipoObservacion.BuscarTipoObservacion(Convert.ToInt32(cboTipoObservacion.SelectedValue));
                obj.Reparacion       = txtComentario.Text;
                DatosObservacion.ModificarObservacion(obj);
                limpiar();

                llenarGrid();
                divMensaje.Attributes.Add("class", "alert alert-success  col-md-8");
                lblMensaje.Text = "Observacion Modificada con éxito";
            }
        } catch (Exception ex)
        {
            divMensaje.Attributes.Add("class", "alert alert-danger col-md-8");
            lblMensaje.Text = ex.Message;
        }
    }