Example #1
0
        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);
        }
Example #2
0
        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
                }
            });
        }