public async Task <RequestResult> RegistrarNovoUser(RegistroUserViewModel registroUserViewModel) { var registrarNovoUserCommand = registroUserViewModel.Map(new RegistrarNovoUserCommand()); var result = await _bus.SendCommand(registrarNovoUserCommand); if (!result.isValid) { return(result); } var mailVariables = new Dictionary <string, string> { { "#USUARIONOME", registroUserViewModel.Nome }, { "#USUARIOEMAIL", registroUserViewModel.Email } }; var message = new MailMessage(); message.To.Add(registroUserViewModel.Email); var mailBuilder = new MailBuilder(message, _configuration); var mailResult = mailBuilder.PreparaTemplate("Confirmação de Cadastro", "ConfirmarCadastro", mailVariables); new MailService(mailResult, _configuration).Send(); return(result); }
public async Task <RequestResult> RecuperarSenha(string email) { var user = await _userManager.FindByEmailAsync(email); if (user is null) { return new RequestResult { isValid = false, Errors = new List <string> { "Usuário não encontrado" } } } ; var resetToken = await _userManager.GeneratePasswordResetTokenAsync(user); var mailVariables = new Dictionary <string, string> { { "#USUARIONOME", user.Nome }, { "#USUARIOEMAIL", user.Email }, { "#URI", $"{_configuration["Client:ChangePassword"]}?token={resetToken}&email={user.Email}" } }; var message = new MailMessage(); message.To.Add(user.Email); var mailBuilder = new MailBuilder(message, _configuration); var mailResult = mailBuilder.PreparaTemplate("Recuperação de Senha", "RecuperacaoSenha", mailVariables); new MailService(mailResult, _configuration).Send(); return(new RequestResult { isValid = true, Result = new RecuperarSenhaViewModel { Token = resetToken } }); }