private void butGuardar_Click(object sender, System.EventArgs e)
 {
     #region Validadores
     BaseValidator bv;
     bv         = (BaseValidator)phDescripcion.FindControl("descripcionReq");
     bv.Enabled = true;
     bv.Validate();
     if (!bv.IsValid)
     {
         return;
     }
     bv         = (BaseValidator)phNivel.FindControl("nivelReq");
     bv.Enabled = true;
     bv.Validate();
     if (!bv.IsValid)
     {
         return;
     }
     bv         = (BaseValidator)phNivel.FindControl("nivelValid");
     bv.Enabled = true;
     if (!bv.IsValid)
     {
         return;
     }
     #endregion
     try
     {
         BindGridObjetivos();
         ICategoriaPersonal categoria = CategoriaPersonalFactory.GetCategoriaPersonalFactory();
         categoria.CategoriaID       = Utiles.Validaciones.obtieneEntero(txtCategoriaID.Text);
         categoria.Descripcion       = txtDescripcion.Text;
         categoria.Nivel             = Utiles.Validaciones.obtieneEntero(txtNivel.Text);
         categoria.DependenciaID     = Utiles.Validaciones.obtieneEntero(Categoria1.CategoriaID);
         categoria.EsEjecutivoCuenta = chkEsEjecutivo.Checked;
         DsObjetivoIncentivoDescrip ds = new DsObjetivoIncentivoDescrip();
         DataSet dsObjetivo            = (DataSet)Session["Objetivos"];
         foreach (DataRow drObjetivo in dsObjetivo.Tables[0].Select("Chk = True"))
         {
             DsObjetivoIncentivoDescrip.DatosRow dr = ds.Datos.NewDatosRow();
             dr.ObjetivoIncentivoID      = Convert.ToInt32(drObjetivo["ObjetivoIncentivoID"]);
             dr.ObjetivoIncentivoDescrip = drObjetivo["ObjetivoIncentivoDescrip"].ToString();
             ds.Datos.AddDatosRow(dr);
         }
         categoria.DsObejtivos = ds;
         categoria.Guardar();
         if (txtCategoriaID.Text != "")
         {
             Response.Redirect("CategoriaPersonalConsul.aspx");
         }
         else
         {
             Response.Redirect("CategoriaPersonal.aspx");
         }
     }
     catch (Exception ex)
     {
         ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
     }
 }
        private void CargarDatos()
        {
            ICategoriaPersonal categoria = CategoriaPersonalFactory.GetCategoriaPersonalFactory();

            categoria.CategoriaID = Utiles.Validaciones.obtieneEntero(txtCategoriaID.Text);
            categoria.Consultar();
            txtDescripcion.Text    = categoria.Descripcion;
            txtNivel.Text          = categoria.Nivel.ToString();
            chkEsEjecutivo.Checked = categoria.EsEjecutivoCuenta;
            Categoria1.CategoriaID = categoria.DependenciaID.ToString();
            Categoria1.Nivel       = categoria.NivelDependenciaID.ToString();
            Categoria1.Descripcion = categoria.Depende;
            DataSet dsObjetivos            = new DataSet();
            DsObjetivoIncentivoDescrip ds  = categoria.GetObjetivos();
            DsObjetivoIncentivoDescrip dsA = categoria.DsObejtivos;

            dsObjetivos.Tables.Add();
            dsObjetivos.Tables[0].Columns.Add("ObjetivoIncentivoID");
            dsObjetivos.Tables[0].Columns.Add("ObjetivoIncentivoDescrip");
            dsObjetivos.Tables[0].Columns.Add("Chk");
            foreach (DsObjetivoIncentivoDescrip.DatosRow dr in ds.Datos)
            {
                DataRow drObjetivo = dsObjetivos.Tables[0].NewRow();
                drObjetivo["ObjetivoIncentivoID"]      = dr.ObjetivoIncentivoID;
                drObjetivo["ObjetivoIncentivoDescrip"] = dr.ObjetivoIncentivoDescrip;
                DsObjetivoIncentivoDescrip.DatosRow drA = dsA.Datos.FindByObjetivoIncentivoID(dr.ObjetivoIncentivoID);
                if (drA != null)
                {
                    drObjetivo["Chk"] = true;
                }
                else
                {
                    drObjetivo["Chk"] = false;
                }
                dsObjetivos.Tables[0].Rows.Add(drObjetivo);
            }
            Session["Objetivos"] = dsObjetivos;
        }