public async Task <IActionResult> ForgotPassword(ForgotPasswordModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(model.Email);

                if (user != null)
                {
                    var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                    var resetURL = Url.Action("ResetPassword", "Home",
                                              new { token = token, email = model.Email }, Request.Scheme);


                    EnviarEmail.enviar(resetURL, "Acesse o link abaixo para redefinir sua senha!", "Redefinição de Senha", user.Email);
                    System.IO.File.WriteAllText("resetLink.txt", resetURL); // LINK GERADO PARA RECUPERAR PASSWORD

                    ViewData["Mensagem"] = "E-mail de redefinição de senha enviado!";
                    return(View("_Mensagem"));
                }
                else
                {
                    // IMPLEMENTAR VIEW USUÁRIO NÃO ENCONTRADO
                }
            }
            return(View());
        }
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(model.UserName);

                if (user == null)
                {
                    user = new MyUser()
                    {
                        Id       = Guid.NewGuid().ToString(),
                        UserName = model.UserName,
                        Email    = model.UserName
                    };

                    var result = await _userManager.CreateAsync(user, model.Password);

                    var myRole = await _roleManager.FindByNameAsync(model.Role);

                    if (myRole != null)
                    {
                        IdentityResult roleResult = await _userManager.AddToRoleAsync(user, myRole.Name);
                    }

                    if (result.Succeeded)
                    {
                        var token = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                        var confirmationEmail = Url.Action(nameof(ConfirmEmailAddress), nameof(AccountController).Replace("Controller", ""),
                                                           new { token = token, email = user.Email }, Request.Scheme);

                        EnviarEmail.enviar(confirmationEmail, "Confirme seu e-mail acessando o link abaixo!", "Confirmação de cadastro", user.Email);
                    }
                    else
                    {
                        foreach (var erro in result.Errors)
                        {
                            ModelState.AddModelError("", erro.Description);
                        }

                        return(View());
                    }
                }
                ViewData["Mensagem"] = "Confirme o cadastro acessando o link enviado ao seu e-mail!";

                return(View("_Mensagem"));
            }

            return(View());
        }