public async Task <IActionResult> ResetarSenha(ResetarSenhaVM viewmodel)
        {
            if (ModelState.IsValid)
            {
                try {
                    await loginService.TrocaSenha(viewmodel.token, viewmodel.Senha);

                    return(RedirectToAction("SenhaResetada"));
                } catch (CustomException e) {
                    ModelState.AddModelError("Erro", e.Message);
                } catch (Exception e) {
                    logger.LogError(e.ToString());
                    ViewBag.Erro = "Erro interno no servidor.";
                }
            }
            viewmodel.Senha         = "";
            viewmodel.ConfirmaSenha = "";

            return(View(viewmodel));
        }
        /// <summary>
        /// Tela que o usuário vai parar quando usa o link no e-mail de resetar senha.
        /// </summary>
        public async Task <IActionResult> ResetarSenha(string token)
        {
            try {
                var tokenValido = await loginService.ValidarToken(token);

                if (tokenValido)
                {
                    var viewmodel = new ResetarSenhaVM()
                    {
                        token = token
                    };
                    return(View(viewmodel));
                }
                else
                {
                    return(RedirectToAction("TokenInvalido"));
                }
            } catch (Exception e) {
                logger.LogError(e.ToString());
                return(RedirectToAction("Error", "Home"));
            }
        }