public async Task <ActionResult <Resultado <LoginResponseViewModel> > > Cadastrar(CadastroUsuarioViewModel cadastroUsuario) { if (User.Identity.IsAuthenticated) { return(Ok(Resultado.Failed())); } if (!ModelState.IsValid) { return(Ok(Resultado.Failed("Dados incorretos"))); } if (!await _usuarioService.IsValidUser(cadastroUsuario)) { return(Ok(Resultado.Failed(_notificador.GetNotifications().Select(x => x.Mensagem).ToArray()))); } var user = _map.Map <AspNetUser>(cadastroUsuario); var result = await _userManager.CreateAsync(user, cadastroUsuario.senha); if (result.Succeeded) { await _signInManager.SignInAsync(user, false); return(Ok(Resultado <LoginResponseViewModel> .Successfull(await GenerateJWT(cadastroUsuario.email)))); } return(Ok(Resultado.Failed(GetRegisterErrors(result.Errors).ToArray()))); }