protected void btnGrabar_Click(object sender, EventArgs e)
    {
        //Validar lo ingresado
        if (ValidarDatos())
        {
            //Cargo los datos en un objeto
            TuCuento.Entidades.Entidad oEntidad = new TuCuento.Entidades.Entidad();

            if (HfAccion.Value == "EDIT")
                oEntidad.nCod_Entidad = Convert.ToInt32(HfnCod_Entidad.Value);

            oEntidad.sNombre = txtNombre.Text.Trim();
            oEntidad.sDescripcion = txtDescripcion.Text.Trim();
            oEntidad.nHab = (chkHab.Checked ? 1 : 0);
            oEntidad.Atributos = lstAtributos;

            if (TuCuento.Negocio.Entidad_NEG.Persistir(oEntidad))
            {   
                InicializarPagina();
                LbMensaje.Text = "Se actualizaron los datos.";
            }
            else
            {
                Master.MensajeError = "Ocurrio un error al intentar grabar la entidad, por favor, vuelva a intentarlo mas tarde. Disculpe las molestias.";
            }

        }
    }
    protected void btnAgregar_Click(object sender, EventArgs e)
    {
        //Valido los datos ingresados
        if (ValidarDatosAtributo())
        {
            if (HfAccionAttr.Value == "EDIT")
            {
                //Lo busco en la lista y lo modifico
                foreach (TuCuento.Entidades.EntidadAtributo oAtributo in lstAtributos)
                {
                    if (oAtributo.nCod_Atributo == Convert.ToInt32(HfnCod_Atributo.Value))
                    {
                        oAtributo.sNombre = txtAttrNombre.Text.Trim();
                        oAtributo.sDescripcion = txtAttrDescripcion.Text.Trim();
                        oAtributo.nCod_TipoAtributo = Convert.ToInt32(ddlTipoAtributo.SelectedValue);

                        if ((Funciones.TipoDato)Convert.ToInt32(this.ddlTipoAtributo.SelectedValue) == Funciones.TipoDato.Entidad)
                        {
                            oAtributo.TipoEntidad.nCod_Entidad = Convert.ToInt32(ddlEntidad.SelectedValue);
                            oAtributo.TipoEntidad.sNombre = ddlEntidad.SelectedItem.Text;
                        }
                        else
                        {
                            oAtributo.TipoEntidad.nCod_Entidad = 0;
                            oAtributo.TipoEntidad.sNombre = null;
                        }

                        oAtributo.nHab = (chkAttrHab.Checked ? 1 : 0);

                        break;
                    }
                }
            }
            else
            {
                TuCuento.Entidades.EntidadAtributo oAtributo = new TuCuento.Entidades.EntidadAtributo();
                TuCuento.Entidades.Entidad oEntidad = new TuCuento.Entidades.Entidad();

                int nCod_Atributo = lstAtributos.Count;

                nCod_Atributo++;

                oAtributo.nCod_Atributo = nCod_Atributo;
                oAtributo.sNombre = txtAttrNombre.Text.Trim();
                oAtributo.sDescripcion = txtAttrDescripcion.Text.Trim();
                oAtributo.nCod_TipoAtributo = Convert.ToInt32(ddlTipoAtributo.SelectedValue);

                if (ddlTipoAtributo.SelectedValue == "1")
                {
                    oEntidad.nCod_Entidad = Convert.ToInt32(ddlEntidad.SelectedValue);
                    oEntidad.sNombre = ddlEntidad.SelectedItem.Text;
                }

                oAtributo.TipoEntidad = oEntidad;

                oAtributo.nHab = (chkAttrHab.Checked ? 1 : 0);

                //Lo agrego a la grilla
                lstAtributos.Add(oAtributo);

            }
            
            gvAtributos.DataSource = lstAtributos;
            gvAtributos.DataBind();

            BlanquearControlesAtributos();
            txtAttrNombre.Focus();
        }
    }