public async Task <IActionResult> CadastrarUsuário([FromBody] CadastrarUsuárioViewModel vm) { if (!ModelState.IsValid) { return(BadRequestModelStateInválida()); } var erros = await _contaAppService.CadastrarUsuário(vm); if (erros.Count == 0) { var nomeUsuário = await _contaAppService.ObterNomeDoUsuárioPorUserNameAsync(vm.Nome); return(OkUsuárioAutenticado(nomeUsuário)); } else { foreach (var erro in erros) { ModelState.AddModelError(string.Empty, erro); } return(BadRequestModelStateInválida()); } }
/// <summary> /// Cadastra um novo usuário no sistema /// </summary> /// <param name="vm"></param> /// <returns>Uma lista de mensagens de erro, caso não seja possível efetuar o cadastro</returns> public async Task <IList <string> > CadastrarUsuário(CadastrarUsuárioViewModel vm) { var erros = new List <string>(); var appUser = new UsuárioIdentity() { UserName = vm.Nome }; var resultadoCriação = await _contaIdentityService.CreateAsync(appUser, vm.Senha); if (resultadoCriação.Count == 0) { var usuário = new Usuário { Id = new Guid(appUser.Id), Nome = vm.Nome, CriadoEm = DateTime.Now }; await _usuárioService.AdicionarAsync(usuário); await _contaIdentityService.SignInAsync(appUser); } else { foreach (var erro in resultadoCriação) { erros.Add(erro); } } return(erros); }
public async Task <IActionResult> CadastrarUsuário(CadastrarUsuárioViewModel vm) { if (!ModelState.IsValid) { return(View(vm)); } var erros = await _contaAppService.CadastrarUsuário(vm); if (erros.Count == 0) { return(RedirecionarParaHomeIndex()); } else { foreach (var erro in erros) { ModelState.AddModelError(string.Empty, erro); } return(View(vm)); } }