protected void btnGrabar_Click(object sender, EventArgs e)
    {
        if (!Validar())
            return;

        TuCuento.Entidades.Usuario oUsuario = new TuCuento.Entidades.Usuario();
        
        oUsuario.sCod_Usuario = txtCodigo.Text;
        oUsuario.sNombre = txtNombre.Text;
        oUsuario.sApellido = txtApellido.Text;
        oUsuario.sEmail = txtEMail.Text;
        oUsuario.bHab = chkHab.Checked;

        if (chkBlanPSW.Checked)
            oUsuario.sPSW = "INIT";

        //Cargo las patentes seleccionadas
        foreach (ListItem item in lvDerecha.Items)
        {
            TuCuento.Entidades.Patente oPatente = new TuCuento.Entidades.Patente();
            oPatente.nCod_Patente = Convert.ToInt32(item.Value);

            oUsuario.lstPatentes.Add(oPatente);
        }

        //Cargo las familias seleccionadas
        foreach (ListItem item in lstFliaSel.Items)
        {
            TuCuento.Entidades.Familia oFamilia = new TuCuento.Entidades.Familia();
            oFamilia.nCod_Flia = Convert.ToInt32(item.Value);

            oUsuario.lstFamilias.Add(oFamilia);
        }
        
        if (TuCuento.Negocio.Usuario_NEG.Persistir(oUsuario))
        {
            BlanquearControles();
            LbMensaje.Text = "Se actualizaron los datos";
            HabDesCtrl(false);
            CargarGrilla();
        }
        else
            LbMensaje.Text = "Ocurrio un error al actualizar los datos";
        
    }
    protected void btnGrabar_Click(object sender, EventArgs e)
    {
        //Validar lo ingresado
        if (ValidarDatos())
        {
            //Cargo los datos en un objeto
            TuCuento.Entidades.Familia oFamilia = new TuCuento.Entidades.Familia();

            if (HfAccion.Value == "EDIT")
                oFamilia.nCod_Flia = Convert.ToInt32(HfnCod_Familia.Value);

            oFamilia.sDesc_Flia = txtNombre.Text.Trim();
            oFamilia.nHab = (chkHab.Checked ? 1 : 0);
            oFamilia.lstPatentes = new List<TuCuento.Entidades.Patente>();

            //Cargo las patentes seleccionadas
            foreach (ListItem item in lvDerecha.Items)
            {
                TuCuento.Entidades.Patente oPatente = new TuCuento.Entidades.Patente();
                oPatente.nCod_Patente = Convert.ToInt32(item.Value);

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

        }
    }
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        if (Validar())
        {
            TuCuento.Entidades.Usuario oUsuario = new TuCuento.Entidades.Usuario();
            TuCuento.Entidades.Familia oFlia = new TuCuento.Entidades.Familia();

            oUsuario.sCod_Usuario = txtUsuario.Text.Trim();
            oUsuario.sNombre = txtNombre.Text.Trim();
            oUsuario.sApellido = txtApellido.Text.Trim();
            oUsuario.sEmail = txtMail.Text.Trim();
            oUsuario.sPSW = txtPsw.Text.Trim();
            oUsuario.Pregunta.nCod_Pregunta = Convert.ToInt32(ddlPregunta.SelectedValue);
            oUsuario.sRespuesta = txtRespuesta.Text.Trim();


            oFlia.nCod_Flia = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["FliaVisitante"].ToString());
            oUsuario.lstFamilias.Add(oFlia);

            oUsuario.nHab = 2;

            if (TuCuento.Negocio.Usuario_NEG.Persistir(oUsuario))
            {
                pnlRegistro.Visible = false;
                pnlResultado.Visible = true;

                //Envio el mail para activar la cuenta
                string bodyHTML = string.Empty;
                string sCod_Usuario = txtUsuario.Text.Trim();
                string sURL = GetApplicationPath() + "/ConfirmarRegistro.aspx?sCod_Usuario=" + sCod_Usuario;
                Funciones oFunc = new Funciones();
                
                bodyHTML = @"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
                        'http://www.w3.org/TR/html4/loose.dtd'>
                        <html lang='es'>
                        <head>
                        </head>
                        <body>
                        <table style='width:800px; border:1px solid #000;' cellpadding='10' cellspacing='0' align='center'>
                        <tr>
                        <td style='background-color:#3399FF; border-bottom:1px solid #000;'>
                        <h1 style='text-align:center; color:#ffffff;'>Bienvenido/a a TuCuento.com.ar</h1></td>
                        </tr>
                        <tr>
                        <td style='border-right:1px solid #000; vertical-align:top; background-color:#FFFFFF;'>
	                        <h4 style='font-family:Arial, Helvetica, sans-serif;color:#000;'>Los datos de tu usuario son: </h4>
	                        <h4 style='font-family:Arial, Helvetica, sans-serif;color:#000;'>Usuario: ";
                bodyHTML = bodyHTML + sCod_Usuario + @" </h4>
	                        <h4 style='font-family:Arial, Helvetica, sans-serif;color:#000;'>Y tu contraseña es: ";
                bodyHTML = bodyHTML + txtPsw.Text.Trim() + @"</h4>
	                        </br>
	                        <h4 style='font-family:Arial, Helvetica, sans-serif;color:#000;'>Por favor, para activar tu usuario tienes que pinchar sobre el siguiente link:</h4>
	                        <a href='";
                bodyHTML = bodyHTML + sURL + @"'>";
                bodyHTML = bodyHTML + sURL + @"</a>
                        </td>
                        </tr>
                        <tr>
                        <td colspan='2' style='background-color:#3399FF; color:#FFFFFF; font-family:Arial, Helvetica, sans-serif; font-size:.8em; border-top:1px solid #000;'>Copyright (c) 2010. TuCuento.com.ar</td>
                        </tr>
                        </body>
                        </html>";

                if (oFunc.EnviarMail(oUsuario.sEmail, "*****@*****.**", bodyHTML, "TuCuento - Activar cuenta"))
                {
                    LbMensajeFinal.Text = "Gracias por registrarte. Se envió un mail a la casilla " + oUsuario.sEmail + ". Ahí encontraras información para activar tu cuenta.";
                }
                else
                {
                    LbMensajeFinal.Text = "Hubo un error al envíar el mail para la activación de la cuenta. Por favor, pongase en contacto con el administrador de sistemas.";
                }                
            }
            else
                LbMensaje.Text = "Ocurrio un error al actualizar los datos";

        }
    }