public ActionResult ResetPassword(string token)
        {
            if (!string.IsNullOrEmpty(token))
            {
                Aviso();

                var usuario = usuarioDal.Listar().Where(u => u.TokenUsuario.Equals(token)).FirstOrDefault();
                if (usuario != null)
                {
                    ViewBag.DominioAppCliente = Diretorio.DominioAppCliente;

                    TimeSpan data = Convert.ToDateTime(DateTime.Now).Subtract(Convert.ToDateTime(usuario.DataCriacao));

                    if (data <= TimeSpan.Parse("00:" + usuario.ValidadeTokenUsuario + ":00.0000000"))
                    {
                        UsuarioRessetSenhaVM model = new UsuarioRessetSenhaVM();
                        model.Email          = usuario.Email;
                        model.IdUsuario      = usuario.IdUsuario;
                        model.PermissaoValor = usuario.Permissao.Valor;
                        model.IdEmpresa      = usuario.IdEmpresa;

                        return(View(model));
                    }
                    else
                    {
                        TempData["Mensagem"] = "O Token de verificação está expirado acesse o link ESQUECI MINHA SENHA <br/> e tente novamente.";
                        return(RedirectToAction("index", "login"));
                    }
                }
            }
            TempData["Mensagem"] = "O Token de verificação é inválido.";
            return(RedirectToAction("index", "login"));
        }
        public ActionResult ResetPassword(UsuarioRessetSenhaVM model)
        {
            try
            {
                Aviso();
                ViewBag.DominioAppCliente = Diretorio.DominioAppCliente;

                if (ModelState.IsValid)
                {
                    Usuario usuario = new Usuario();
                    usuario.Permissao = new Permissao();
                    usuario.Empresa   = new Empresa();

                    if (model.Senha.Equals(model.SenhaConf))
                    {
                        EmpresaDal d = new EmpresaDal();

                        usuario.IdUsuario       = model.IdUsuario;
                        usuario.Senha           = Criptografia.Encriptar(model.Senha);
                        usuario.Email           = model.Email;
                        usuario.IdEmpresa       = model.IdEmpresa;
                        usuario.Permissao.Valor = model.PermissaoValor;
                        usuarioDal.Salvar(usuario);
                        usuario.Empresa      = d.ListarPorId(model.IdEmpresa);
                        usuario.Senha        = "";
                        TempData["Mensagem"] = "Senha atualizada com sucesso!";
                        var jsonUsuario = JsonConvert.SerializeObject(usuario);
                        FormsAuthentication.SetAuthCookie(jsonUsuario, false);


                        return(RedirectToAction("index", "veiculos"));
                    }
                    else
                    {
                        TempData["Mensagem"] = "As senhas não conferem!";
                        return(View(model));
                    }
                }
                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }