protected void rgCompetenciasPuesto_DeleteCommand(object sender, GridCommandEventArgs e)
        {
            var             editableItem = ((GridEditableItem)e.Item);
            Nullable <Guid> ID;

            if (editableItem.GetDataKeyValue("ID") != null)
            {
                ID = Guid.Parse(editableItem.GetDataKeyValue("ID").ToString());
            }
            else
            {
                ID = Guid.Empty;
            }

            BL_COMPETENCIAS_POR_PUESTO BL_COMPETENCIAS_POR_PUESTO = new BL_COMPETENCIAS_POR_PUESTO();

            BL_COMPETENCIAS_POR_PUESTO.EliminarCompetenciaPuesto((Guid)ID);
            rgCompetenciasPuesto.DataBind();
        }
        protected void btnGuardarEvaluacionFinal_Click(object sender, EventArgs e)
        {
            try
            {
                int  competencias_por_evaluar = 0;
                Guid idPuesto = Guid.Parse(hf_PuestoId.Value);

                competencias_por_evaluar = BL_COMPETENCIAS_POR_PUESTO.EvaluacionFinalGrabar(idPuesto);

                if (competencias_por_evaluar == 0)
                {
                    BL_EVALUACIONES_COMPETENCIAS_PUESTOS_PERSONAL BL_EVALUACIONES_COMPETENCIAS_PUESTOS_PERSONAL = new BL_EVALUACIONES_COMPETENCIAS_PUESTOS_PERSONAL();


                    BE_EVALUACIONES_COMPETENCIAS_PUESTOS_PERSONAL oentidadeValua = new BE_EVALUACIONES_COMPETENCIAS_PUESTOS_PERSONAL();


                    oentidadeValua.PERSONAL_ID = Guid.Parse(hf_PersonalId.Value);
                    oentidadeValua.PUESTO_ID   = Guid.Parse(hf_PuestoId.Value);
                    BL_EVALUACIONES_COMPETENCIAS_PUESTOS_PERSONAL.ActualizarEvaluacionFinal(oentidadeValua);
                    hf_Estado.Value = BE_EVALUACION_COMPETENCIA_PUESTO.ESTADO_EVALUACION.Evaluado.ToString();
                    ActualizarGrilla();

                    lblMensaje.Text = "Se actualizó el Estado de las Competencias a Evaluado. Éstas ya no podrán ser editadas, salvo por un usuario administrador";
                }

                else
                {
                    lblMensaje.Text = "Existen competencias sin Evaluar. Debe evaluar todas las competencias.";
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text = "Error al Asignar Evaluació:" + ex.ToString();
            }
        }
        protected void GrabarActualizar(object sender, GridCommandEventArgs e, String action)
        {
            var editableItem = ((GridEditableItem)e.Item);
            //create new entity
            BL_COMPETENCIAS_POR_PUESTO BL_COMPETENCIAS_POR_PUESTO = new BL_COMPETENCIAS_POR_PUESTO();

            //populate its properties
            Hashtable values = new Hashtable();

            editableItem.ExtractValues(values);

            RadComboBox oRadComboBox_Competencia = (RadComboBox)e.Item.FindControl("rcbCompetencia");
            RadComboBox oRadComboBox_Puesto      = (RadComboBox)e.Item.FindControl("rcbPuesto");
            RadComboBox oRadComboBox_Empresa     = (RadComboBox)e.Item.FindControl("rcbEmpresa");

            BE_COMPETENCIAS_POR_PUESTO oentidad = new BE_COMPETENCIAS_POR_PUESTO();

            Nullable <Guid> ID;

            if (e.CommandName == RadGrid.PerformInsertCommandName)
            {
                ID = Guid.Empty;
            }
            else
            {
                ID = Guid.Parse(editableItem.GetDataKeyValue("ID").ToString());
            }

            oentidad.ID = (Guid)ID;

            if (values["COMPETENCIA_PUESTO_VALOR_REQUERIDO"] == null)
            {
                oentidad.COMPETENCIA_PUESTO_VALOR_REQUERIDO = 0;
            }
            else
            {
                oentidad.COMPETENCIA_PUESTO_VALOR_REQUERIDO = Int32.Parse(values["COMPETENCIA_PUESTO_VALOR_REQUERIDO"].ToString());
            }

            if (!String.IsNullOrEmpty(oRadComboBox_Puesto.SelectedValue))
            {
                oentidad.PUESTO_ID = Guid.Parse(oRadComboBox_Puesto.SelectedValue);
            }
            else
            {
                e.Canceled = true;
                oRadComboBox_Puesto.Text         = String.Empty;
                oRadComboBox_Puesto.EmptyMessage = "<SELECCIONAR>";
                return;
            }
            if (!String.IsNullOrEmpty(oRadComboBox_Empresa.SelectedValue))
            {
                oentidad.EMPRESA_ID = Guid.Parse(oRadComboBox_Empresa.SelectedValue);
            }
            else
            {
                e.Canceled = true;
                oRadComboBox_Empresa.Text = String.Empty;
                return;
            }

            if (!String.IsNullOrEmpty(oRadComboBox_Competencia.SelectedValue))
            {
                oentidad.COMPETENCIA_ID = Guid.Parse(oRadComboBox_Competencia.SelectedValue);
            }
            else
            {
                e.Canceled = true;
                oRadComboBox_Competencia.Text    = String.Empty;
                oRadComboBox_Puesto.EmptyMessage = "<SELECCIONAR>";
                return;
            }

            if (action == "add")
            {
                oentidad.USUARIO_CREACION = USUARIO;
                BL_COMPETENCIAS_POR_PUESTO.InsertarCompetenciaPuesto(oentidad);
            }
            else
            {
                oentidad.USUARIO_CREACION = USUARIO;
                BL_COMPETENCIAS_POR_PUESTO.ActualizarCompetenciaPuesto(oentidad);
            }
        }