public async Task <IList <string> > CreateAsync(UsuárioIdentity usuário, string senha) { var resultado = await _userManager.CreateAsync(usuário, senha); if (resultado.Succeeded) { return(new List <string>()); } else { var erros = new List <string>(); foreach (var error in resultado.Errors) { switch (error.Code) { case "DuplicateUserName": erros.Add("O nome de usuário escolhido não está disponível. Escolha outro."); break; case "DuplicateEmail": erros.Add("O e-mail escolhido já possui um cadastro."); break; default: erros.Add(error.Description); break; } } return(erros); } }
/// <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 SignInAsync(UsuárioIdentity usuário) => await _signInManager.SignInAsync(usuário, false);