Exemplo n.º 1
0
    protected void botonEnviarToken_Click(object sender, EventArgs e)
    {
        EUsuario usuarioCambioPass = new DaoLogin().buscarCorreo(campoCorreo.Text + Constantes.CORREO_INSTITUCIONAL);

        if (usuarioCambioPass != null)
        {
            usuarioCambioPass.Estado           = Constantes.ESTADO_CAMBIO_PASS;
            usuarioCambioPass.Token            = Reutilizables.encriptar(JsonConvert.SerializeObject(usuarioCambioPass));
            usuarioCambioPass.VencimientoToken = DateTime.Now.AddHours(8);
            usuarioCambioPass.Session          = usuarioCambioPass.Session = "plataforma";
            new Correo().enviarCorreo(usuarioCambioPass.CorreoInstitucional, usuarioCambioPass.Token,
                                      Constantes.MENSAJE_CAMBIO_PASS, Constantes.URL_CAMBIO_PASS, usuarioCambioPass.Estado);
            Base.Actualizar(usuarioCambioPass);
            LB_Validacion.CssClass = "alert alert-success";
            LB_Validacion.Text     = "Revise la bandeja de su Correo.";
            LB_Validacion.Visible  = true;
        }
        else
        {
            LB_Validacion.CssClass = "alert alert-danger";
            LB_Validacion.Text     = "El correo que has introducido es incorrecto.";
            LB_Validacion.Visible  = true;
            return;
        }
        usuarioCambioPass = null;
    }
    protected void btnRegistrar_Click(object sender, EventArgs e)
    {
        EUsuario usuarioEnRegistro = new EUsuario();

        usuarioEnRegistro.NombreDeUsuario     = cajaNombreUsuario.Text;
        usuarioEnRegistro.Pass                = cajaPass.Text;
        usuarioEnRegistro.PrimerNombre        = cajaPrimerNombre.Text;
        usuarioEnRegistro.SegundoNombre       = cajaSegundoNombre.Text;
        usuarioEnRegistro.PrimerApellido      = cajaPrimerApellido.Text;
        usuarioEnRegistro.SegundoApellido     = cajaSegundoApellido.Text;
        usuarioEnRegistro.FechaCreacion       = DateTime.Now;
        usuarioEnRegistro.CorreoInstitucional = cajaEmail.Text + Constantes.CORREO_INSTITUCIONAL;
        usuarioEnRegistro.Rol              = Constantes.ROL_USER;
        usuarioEnRegistro.Estado           = Constantes.ESTADO_EN_ESPERA;
        usuarioEnRegistro.Token            = Reutilizables.encriptar(JsonConvert.SerializeObject(usuarioEnRegistro));
        usuarioEnRegistro.LastModify       = DateTime.Now;
        usuarioEnRegistro.VencimientoToken = DateTime.Now.AddHours(8);
        new DaoRegister().registroUsuario(usuarioEnRegistro);

        if (usuarioEnRegistro.Estado.Equals(Constantes.ESTADO_PK))
        {
            labelValidar.CssClass = "alert alert-danger";
            labelValidar.Text     = "Ese Nombre de usuario ya está en uso. Prueba con otro.";
            labelValidar.Visible  = true;
            usuarioEnRegistro     = null;
            return;
        }

        else if (usuarioEnRegistro.Estado.Equals(Constantes.ESTADO_UNIQUE))
        {
            labelValidar.CssClass = "alert alert-danger";
            labelValidar.Text     = "Ese Correo Institucional ya está en uso. Prueba con otro.";
            labelValidar.Visible  = true;
            usuarioEnRegistro     = null;
            return;
        }

        if (usuarioEnRegistro != null)
        {
            new Correo().enviarCorreo(usuarioEnRegistro.CorreoInstitucional, usuarioEnRegistro.Token,
                                      Constantes.MENSAJE_VALIDAR_CUENTA, Constantes.URL_VALIDAR_CUENTA, usuarioEnRegistro.Estado);
            labelValidar.CssClass = "alert alert-success";
            labelValidar.Text     = "Revise el correo para activar su cuenta.";
            labelValidar.Visible  = true;
            usuarioEnRegistro     = null;
            CleanControl(this.Controls);
        }
    }
    protected void botonIniciar_Click(object sender, EventArgs e)
    {
        EUsuario usuario = new EUsuario();

        if (campoUsuario.Text.Contains("@"))
        {
            usuario = new DaoLogin().GetUsuarioxCorreo(campoUsuario.Text, campoPass.Text);
        }
        else
        {
            usuario = new DaoLogin().GetUsuarioxApodo(campoUsuario.Text, campoPass.Text);
        }

        Session[Constantes.USUARIO_LOGEADO] = usuario;

        if (usuario != null)
        {
            if (usuario.FechaDesbloqueo < DateTime.Now)
            {
                usuario.Estado = Constantes.ESTADO_ACTIVO;
                Base.Actualizar(usuario);
            }
            if (usuario.Estado.Equals(Constantes.ESTADO_EN_ESPERA))
            {
                usuario.VencimientoToken = DateTime.Now.AddHours(8);
                usuario.Token            = Reutilizables.encriptar(JsonConvert.SerializeObject(usuario));
                Base.Actualizar(usuario);
                new Correo().enviarCorreo(usuario.CorreoInstitucional, usuario.Token,
                                          Constantes.MENSAJE_VALIDAR_CUENTA, Constantes.URL_VALIDAR_CUENTA, usuario.Estado);
                LB_Validacion.CssClass = "alert alert-warning";
                LB_Validacion.Text     = "<Strong>Su cuenta esta por activar</strong>, se le ha vuelto a enviar un correo verifique.";
                LB_Validacion.Visible  = true;
                Session.Contents.Remove(Constantes.USUARIO_LOGEADO);
                usuario = null;
                CleanControl(this.Controls);
                return;
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_REPORTADO))
            {
                LB_Validacion.CssClass = "alert alert-danger";
                LB_Validacion.Text     = "Su cuenta esta reportada por: "
                                         + ((TimeSpan)(usuario.FechaDesbloqueo.Value.Date - DateTime.Now.Date)).Days.ToString() + " Días";
                LB_Validacion.Visible = true;
                usuario = null;
                Session.Contents.Remove(Constantes.USUARIO_LOGEADO);
                CleanControl(this.Controls);
                return;
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_BLOQUEADO))
            {
                LB_Validacion.CssClass = "alert alert-danger";
                LB_Validacion.Text     = "Su cuenta esta bloqueada comuniquese con el administrador via E-mail.";
                LB_Validacion.Visible  = true;
                usuario = null;
                Session.Contents.Remove(Constantes.USUARIO_LOGEADO);
                CleanControl(this.Controls);
                return;
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_CAMBIO_PASS))
            {
                conexion();
                usuario.Token            = null;
                usuario.Session          = usuario.NombreDeUsuario;
                usuario.VencimientoToken = null;
                usuario.Estado           = Constantes.ESTADO_ACTIVO;
                Base.Actualizar(usuario);
                Response.Redirect("~/Vistas/Home.aspx");
            }
            else if (usuario.Estado.Equals(Constantes.ESTADO_ACTIVO))
            {
                conexion();
                Response.Redirect("~/Vistas/Home.aspx");
            }
        }
        else
        {
            LB_Validacion.CssClass = "alert alert-danger";
            LB_Validacion.Text     = "El nombre de la cuenta, correo  y/o la contraseña que has introducido son incorrectos.";
            LB_Validacion.Visible  = true;
            CleanControl(this.Controls);
            return;
        }
    }