예제 #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);
        }
        public async Task <IActionResult> Registrar(RegistroUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Copia os dados do RegisterViewModel para o IdentityUser
                var user = new IdentityUser
                {
                    UserName = model.Email,
                    Email    = model.Email
                };
                // Armazena os dados do usuário na tabela AspNetUsers
                var result = await manipularUsuario.CreateAsync(user, model.Senha);

                // Se o usuário foi criado com sucesso, faz o login do usuário
                // usando o serviço SignInManager e redireciona para o Método Action Index
                if (result.Succeeded)
                {
                    await manipularCadastro.SignInAsync(user, isPersistent : false);

                    return(RedirectToAction("index", "home"));
                }
                // Se houver erros então inclui no ModelState
                // que será exibido pela tag helper summary na validação
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }
            return(View(model));
        }
예제 #3
0
        public async Task <ActionResult> Registrar(RegistroUserViewModel request)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var result = await _userAppService.RegistrarNovoUser(request);

            if (!result.isValid)
            {
                AddInRangeError(result.Errors);
            }

            return(CustomResponse(request));
        }