private void comprobarEstadoUsuario(TBLUSUARIOS usuarioExistente)
        {
            char estadoUsuPrincipal = usuarioExistente.ESTADO_USUARIO;

            if (!string.IsNullOrEmpty(estadoUsuPrincipal.ToString()))
            {
                switch (estadoUsuPrincipal)
                {
                case 'B':
                    mostrarToast("Usuario Bloqueado", "Su usuario esta bloqueado. Consulte con el administrador para desbloquear", "Error", 5000);
                    break;

                case 'I':
                    mostrarToast("Usuario Inactivo", "Su usuario esta Inactivo. Consulte con el administrador para desbloquear", "Error", 5000);
                    break;

                case 'C':
                    mostrarToast("Por confirmar registro", "Su usuario esta por confirmar su registro. El administrador le enviará un correo al momento de aprobar su registro", "Warning", 6000);
                    break;

                case 'R':
                    //mostrarToast("Recuperar contraseña", "Aqui reenvio a la pagina para recuperar contraseña", "Warning");
                    Response.Redirect("RecuperarPage.aspx");
                    break;

                case 'A':
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "console", "console.log('Administrador');", true);
                    break;

                default:
                    mostrarToast("Estado desconocido", "Sin estado", "Warning");
                    return;
                }
            }
        }
Exemple #2
0
        protected void btnConfirmarCodigo_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtEmail.Text))
            {
                mostrarToast("Email vacío", "Ingrese su email", "Warning");
                return;
            }
            if (string.IsNullOrEmpty(txtCodigo.Text))
            {
                mostrarToast("Código vacío", "Ingrese el código para confirmar la autorización de cambio de contraseña", "Warning", 5000);
                return;
            }
            TBLUSUARIOS        usu = new TBLUSUARIOS();
            TBLCODRECUPERACION cod = new TBLCODRECUPERACION();

            try
            {
                usu = LogicaUsuarios.buscarCorreoExistente(txtEmail.Text);
                cod = LogicaCodigos.ultimoCodigo(usu.ID_USUARIO, txtCodigo.Text);
                cambiarImagen(usu.FOTO_PATH_USUARIO);
                Session["contrseniaUsuario"] = usu.PASS_USUARIO;
                Session["usuarioRecuperar"]  = usu;
            }
            catch (Exception ex)
            {
                throw new ArgumentException("error al recuperar informacion: </br> " + ex.Message);
            }

            if (usu != null)
            {
                if (cod != null)
                {
                    if (cod.CODIGO_RECUPERACION == txtCodigo.Text)
                    {
                        mostrarToast("Codigo Correcto", "Ingrese una nueva contraseña para su usuario. Siga las politicas de seguridad para su nueva contraseña. NO INGRESE LA MISMA CONTRASEÑA ANTERIOR!", "Info", 10000);
                        pnConfirmarCorreo.Visible    = false;
                        pnCambiarContrasenia.Visible = true;
                    }
                    else
                    {
                        mostrarToast("Codigo Incorrecto", "El código ingresado no es el correcto, copie sin espacios el código e ingreselo nuevamente. Si persiste el error consulte con el administrador.", "Error", 8000);
                    }
                }
                else
                {
                    mostrarToast("Error en Codigo", "Error en codigo, esta vacio", "Error");
                    mostrarToast("Error en Codigo", "Error en codigo, esta vacio", "Error");
                }
            }
            else
            {
                mostrarToast("Error en Usuario", "Error en Usuario por correo, no encontrado", "Error");
            }
        }
 ///CAMBIAR ESTADO A RECUPERACION
 public static void cambiarEstadoRecuperacion(TBLUSUARIOS usuario)
 {
     try
     {
         usuario.ESTADO_USUARIO = 'R';
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new ArgumentException("Los datos no fueron guardados: </br> " + ex.Message);
     }
 }
 ///BLOQUEAR USUARIO
 public static void bloquearUsu(TBLUSUARIOS usuario)
 {
     try
     {
         usuario.ESTADO_USUARIO = 'B';
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new ArgumentException("Los datos no fueron guardados: </br> " + ex.Message);
     }
 }
        protected void btnregistrar_Click(object sender, EventArgs e)
        {
            string nombre      = txtNombre.Text.Trim();
            string apellido    = txtApellido.Text.Trim();
            string email       = txtEmail.Text.Trim();
            string usuario     = txtUsername.Text.Trim();
            string contrasenia = txtPassword.Text.Trim();
            string telefono    = txtTelefono.Text.Trim();
            string pathImagen  = "";

            ComprobarEmail();
            ComprobarUsuario();

            if (!string.IsNullOrEmpty(nombre) && !string.IsNullOrEmpty(apellido) && !string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(usuario) && !string.IsNullOrEmpty(contrasenia) && !string.IsNullOrEmpty(telefono))
            {
                pathImagen = SaveAvatarLocal(usuario);
                if (!string.IsNullOrEmpty(pathImagen))
                {
                    try
                    {
                        TBLUSUARIOS usu = new TBLUSUARIOS();
                        usu.NOMBRE_USUARIO    = nombre;
                        usu.APELLIDO_USUARIO  = apellido;
                        usu.EMAIL_USUARIO     = email;
                        usu.USU_USUARIO       = usuario;
                        usu.PASS_USUARIO      = LogicaUsuarios.GenerateMD5(contrasenia);
                        usu.TELEFONO_USUARIO  = telefono;
                        usu.FOTO_PATH_USUARIO = pathImagen;

                        LogicaUsuarios.guardarUsuario(usu);
                        Session["toastTitulo"]  = "Usuario Registrado";
                        Session["toastMensaje"] = "Sus datos han sido registrados. Espere a que el administrador confirme su registro.";
                        Session["toastClass"]   = "success";

                        Response.Redirect("LoginPage.aspx");
                        //mostrarToast("Usuario Registrado", "Sus datos han sido registrados. Espere a que el administrador confirme su registro.", "Success", 6000);
                    }
                    catch (Exception ex)
                    {
                        mostrarToast("Error", "Error al guardar el usuario: " + ex.Message, "Error", 8000);
                        return;
                    }
                }
                else
                {
                    mostrarToast("Imagen", "Presione en el boton 'Cargar Imagen' para mostrar el avatar a cargar. es posible que deba ingresar de nuevo su contraseña", "Warning", 8000);
                }
            }
            else
            {
                mostrarToast("Campos Vacíos", "No deje los campos vacíos", "Error");
            }
        }
 ///Consultar
 public static void cambiarContrasenia(TBLUSUARIOS usuario, string newPass)
 {
     try
     {
         usuario.PASS_USUARIO   = newPass;
         usuario.ESTADO_USUARIO = 'A';
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new ArgumentException("Los datos no fueron guardados: </br> " + ex.Message);
     }
 }
        protected async void btnRecuperarContrasenia_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtEmail.Text))
            {
                TBLUSUARIOS usuXCorreo = LogicaUsuarios.buscarCorreoExistente(txtEmail.Text);

                bool existeCorreo = !usuXCorreo.EMAIL_USUARIO.Equals("");

                if (existeCorreo)
                {
                    string codigo = GenerateNewRandom();

                    LogicaCodigos.guardarCodigo(usuXCorreo.ID_USUARIO, codigo);
                    LogicaUsuarios.cambiarEstadoRecuperacion(usuXCorreo);

                    string subject    = "Recuperación de contraseña";
                    string htmlString = @"
                          <html>
	                          <body>
	                              <h3>Estimad@ "     + usuXCorreo.NOMBRE_USUARIO + @"</h3>
                                  <p><i>Pasos para la recuperación de contraseña</i></p>
                                  <p>Tu usuario es: <b style='font-size: 20px;'>" + usuXCorreo.USU_USUARIO + @"</b></p>
	                              <p>Ingresa el siguiente codigo: </p>
                                  </br>
                                  <code style='font-size: 20px;'>" + codigo.ToString() + @"</code >
                                  </br>
	                              <p>El código deberás ingresarlo en el siguiente enlace: </p>
                                  </br>
                                  <a href = 'https://localhost:44305/loginTemplates/RecuperarPage.aspx' target = '_blank'>https://localhost:44305/loginTemplates/RecuperarPage.aspx</a>
                                  </br>                                  
                                  <p>En caso de no poder ingresar a la direcion, ingrese al Login del sistema e ingrese su usuario y cualquier contraseña. Le redireccionará automaticamente a la recuperacion de contraseña.</p>
	                          </body>
	                      </html>"    ;

                    EmailProvider ep = new EmailProvider(subject, htmlString, txtEmail.Text);

                    await ep.SendEmailAsync();

                    mostrarToast("Correo Enviado", "El correo ha sido enviado a: " + txtEmail.Text + ". Revise su correo y siga las instrucciones para recuperar sus credenciales.", "Success", 6000);
                    Limpiar();
                }
                else
                {
                    mostrarToast("Correo Inexistente", "El correo provisto no está registrado", "Error");
                }
            }
            else
            {
                mostrarToast("Error", "Esta vacio", "Error");
            }
        }
 ///METODO PARA GUARDAR DATOS
 public static void guardarUsuario(TBLUSUARIOS usuario)
 {
     try
     {
         usuario.ESTADO_USUARIO         = 'C';
         usuario.FECHA_CREACION_USUARIO = DateTime.Now;
         usuario.TBLROLE_ID             = 2;
         dc.TBLUSUARIOS.InsertOnSubmit(usuario);
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new ArgumentException("Los datos no fueron guardados: </br> " + ex.Message);
     }
 }
Exemple #9
0
        private void BuscarUsuario()
        {
            string usu  = Session["usuUsuario"].ToString();
            string pass = Session["passUsuario"].ToString();

            TBLUSUARIOS usuario = LogicaUsuarios.autenticarXLogin(usu, pass);

            if (!string.IsNullOrEmpty(usuario.FOTO_PATH_USUARIO))
            {
                CambiarImagen(usuario.FOTO_PATH_USUARIO);
            }
            else
            {
                CambiarImagen(pathDefaultAvatar);
            }
        }
Exemple #10
0
        protected void btnRegVerDatosUsu_Click(object sender, EventArgs e)
        {
            int codUsu = Convert.ToInt32((sender as LinkButton).CommandArgument);

            TBLUSUARIOS usuario = LogicaUsuarios.usuarioXID(codUsu);

            lblNombreConf.Text           = usuario.NOMBRE_USUARIO + " " + usuario.APELLIDO_USUARIO;
            lblUsuarioConf.Text          = usuario.USU_USUARIO;
            lblEmailConf.Text            = usuario.EMAIL_USUARIO;
            Session["estadoUsuarioConf"] = usuario.ESTADO_USUARIO;
            lblFechaConf.Text            = usuario.FECHA_CREACION_USUARIO.ToString();
            lblTelefonoConf.Text         = usuario.TELEFONO_USUARIO;
            Session["usuConfirmar"]      = usuario.ID_USUARIO;

            btnConfirmarRegistro.Visible = true;
        }
Exemple #11
0
 protected void btnCambiarContrasenia_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(txtPassword.Text) && !string.IsNullOrEmpty(txtPasswordConfirm.Text))
     {
         if (txtPassword.Text == txtPasswordConfirm.Text)
         {
             if (LogicaUsuarios.GenerateMD5(txtPassword.Text) != Session["contrseniaUsuario"].ToString())
             {
                 TBLUSUARIOS usuarioCambiar = (TBLUSUARIOS)Session["usuarioRecuperar"];
                 LogicaUsuarios.cambiarContrasenia(usuarioCambiar, LogicaUsuarios.GenerateMD5(txtPassword.Text));
                 Session["toastTitulo"]  = "Recuperación de contraseña exitosa.";
                 Session["toastMensaje"] = "Ingrese nuevamente con su nueva contraseña.";
                 Session["toastClass"]   = "success";
                 Response.Redirect("LoginPage.aspx");
             }
             else
             {
                 mostrarToast("Misma contrasenia", "La contraseña nueva no puede ser la misma a la que desea recuperar", "Error", 5000);
             }
         }
     }
 }
Exemple #12
0
 public UsuarioVM()
 {
     // Initialise the entity or inserts will fail
     Usuario = new TBLUSUARIOS();
 }
Exemple #13
0
        private void ingresar()
        {
            if (string.IsNullOrEmpty(txtUsername.Text))
            {
                mostrarToast("Advertencia", "No deje vácio el nombre de usuario", "Warning");
                return;
            }
            if (string.IsNullOrEmpty(txtPassword.Text))
            {
                mostrarToast("Advertencia", "No deje vácio el campo de contraseña", "Warning");
                return;
            }

            bool existeNombre  = LogicaUsuarios.autenticaNombreUsuario(txtUsername.Text);
            bool existeUsuario = LogicaUsuarios.autenticar(txtUsername.Text, LogicaUsuarios.GenerateMD5(txtPassword.Text));

            TBLUSUARIOS usuarioExistente = new TBLUSUARIOS();

            if (existeNombre)
            {
                usuarioExistente = LogicaUsuarios.buscarXUsuario(txtUsername.Text);

                if (!string.IsNullOrEmpty(usuarioExistente.FOTO_PATH_USUARIO))
                {
                    string filePath = usuarioExistente.FOTO_PATH_USUARIO;
                    cambiarImagen(filePath);
                }
                else
                {
                    cambiarImagen(pathDefaultAvatar);
                }

                comprobarEstadoUsuario(usuarioExistente);

                if (existeUsuario)
                {
                    TBLUSUARIOS usuario = new TBLUSUARIOS();
                    try
                    {
                        usuario = LogicaUsuarios.autenticarXLogin(txtUsername.Text, LogicaUsuarios.GenerateMD5(txtPassword.Text));
                    }
                    catch (Exception ex)
                    {
                        mostrarToast("Error", "Error: " + ex.Message, "Error");
                        throw;
                    }
                    int  rolUsuario    = usuario.TBLROLE_ID;
                    char estadoUsuario = usuario.ESTADO_USUARIO;


                    Session["nomUsuario"]    = usuario.NOMBRE_USUARIO.ToString();
                    Session["estadoUsuario"] = usuario.ESTADO_USUARIO.ToString();
                    Session["passUsuario"]   = usuario.PASS_USUARIO.ToString();
                    Session["usuUsuario"]    = usuario.USU_USUARIO.ToString();

                    if (estadoUsuario == 'A')
                    {
                        switch (rolUsuario)
                        {
                        case 1:
                            //mostrarToast("Administrador", "Este es administrador", "Success", 1000);
                            Session["tipoUsuario"] = "Administrador";
                            Response.Redirect("~/HomePage.aspx");
                            break;

                        case 2:
                            //mostrarToast("Usuario", "Este es usuario", "Success", 1000);
                            Session["tipoUsuario"] = "Usuario";
                            Response.Redirect("~/HomePage.aspx");
                            break;

                        default:
                            mostrarToast("Error", "No tiene - error", "Error", 1000);
                            break;
                        }
                    }
                }
                else
                {
                    intentos            = (contador + (Convert.ToInt32(Session["count"]))).ToString();
                    Session["countOld"] = intentos.ToString();

                    if (Convert.ToInt32(intentos) >= 3)
                    {
                        try
                        {
                            LogicaUsuarios.bloquearUsu(usuarioExistente);
                            mostrarToast("Máximo de intentos", "Su usuario ha sido bloqueado por máximo de intentos permitidos (3). Consulte con el administrador.", "Error", 4000);
                            Session.Clear();
                            btnLogin.Visible = false;
                        }
                        catch (Exception ex)
                        {
                            mostrarToast("Error", "Error al bloquear usuario: " + ex.Message, "Error", 6000);
                        }
                    }
                    else
                    {
                        mostrarToast("Usuario o contraseña incorrectos", "Intentos restantes: " + intentos, "Warning", 2000);
                    }
                }
            }
            else
            {
                mostrarToast("El usuario no existe", "Usuario Inexistente", "Warning", 1000);
                cambiarImagen(pathDefaultAvatar);
            }
        }