public JsonResult RecuperarClave(String email, String tipoUsuario)
        {
            string obtenerEmail = ConsultaUsuario.Leer_Correo(email, tipoUsuario);
            String msj;
            bool   validar = false;

            if (obtenerEmail != null && obtenerEmail.Equals(email))
            {
                string clave = RandomPassword.Generate(8);
                ConsultaUsuario.Cambiar_clave(tipoUsuario, email, clave);
                EmailSender.Send(email, "Cambio de clave", "Su nueva clave temporal es: " + clave);
                validar = true;
                msj     = "Se ha enviado una clave temporal a su correo exitosamente. Recuerde modificar su clave.";
            }
            else
            {
                msj = "No se ha podido generar una clave temporal. Verifique que los datos ingresados sean correcto o que tenga conexión a internet e intentelo nuevamente. Si el problema persiste favor de contactarse con soporte.";
            }

            var datos = new
            {
                validar,
                msj
            };

            return(Json(datos));
        }
        public IActionResult RecuperarClave(String email)
        {
            string obtenerClave = ConsultaUsuario.Leer_Correo(email);

            if (obtenerClave != null && obtenerClave.Equals(email))
            {
                string clave = RandomPassword.Generate(8);
                ConsultaUsuario.Cambiar_clave(email, clave);
                EmailSender.Send(email, "Cambio de contraseña", "Su nueva contraseña temporal es: " + clave);

                return(RedirectToAction("Login", "Usuario"));
            }
            Console.WriteLine("No envio coreo");
            return(RedirectToAction("Login", "Usuario"));
        }
        public JsonResult ActualizarClave(String ClaveActual, String NuevaClave, String ConfirmacionNuevaClave)
        {
            String  tipoUsuario = HttpContext.Session.GetString("TipoUsuario");
            Usuario usuario     = HttpContext.Session.GetComplexData <Usuario>("DatosUsuario");
            bool    validar     = false;
            String  msj;

            if (NuevaClave.Equals(ConfirmacionNuevaClave))
            {
                if (ClaveActual.Equals(usuario.Clave))
                {
                    if (!ClaveActual.Equals(NuevaClave))
                    {
                        ConsultaUsuario.Cambiar_clave(tipoUsuario, usuario.Email, NuevaClave);
                        EmailSender.Send(usuario.Email, "Cambio de clave", "Su nueva clave es: " + NuevaClave);
                        validar = true;
                        msj     = "Su clave se ha modificado y se envió un respaldo a su correo.";
                    }
                    else
                    {
                        msj = "No se ha podido modificar la clave debido a que la clave actual es la misma que la nueva clave. Favor de verificar los campos y vuelva a intentarlo";
                    }
                }
                else
                {
                    msj = "No se ha podido modificar la clave debido a que la clave actual es incorrecta. Favor de verificar los campos y vuelva a intentarlo";
                }
            }
            else
            {
                msj = "No se ha podido modificar la clave debido a que la nueva clave y su confirmación no son iguales. Favor de verificar los campos y vuelva a intentarlo";
            }

            var datos = new
            {
                validar,
                msj
            };

            return(Json(datos));
        }