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)); }
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)); }