public async Task <IdentityResult> CadastrarAdministradorAsync(UsuarioADE usuarioCriado, string password, bool existente, EnumTipoUsuario Funcao) { usuarioCriado.DataHoraInclusao = DateTime.Now; usuarioCriado.TipoRecebimentoNotificacao = EnumTipoRecebimentoNotificacao.Geral; IdentityResult result; if (existente) { result = await CadastrarAdministradorExistente(usuarioCriado, password, Funcao); await AtualizarAsync(usuarioCriado, null); } else { result = await _userManager.CreateAsync(usuarioCriado, password); if (result.Succeeded) { ServicoRequisito servicoRequisito = new ServicoRequisito(ref unitOfWork); Requisito requisito = await servicoRequisito.BuscarUm(x => x.NomeRequisito == "Email"); RequisitoDeUsuario rdu = new RequisitoDeUsuario(usuarioCriado.Id, requisito.Identificador, usuarioCriado.Email, usuarioCriado); _servicoRequisitoDeUsuario = _servicoRequisitoDeUsuario ?? new ServicoRequisitoUsuario(ref unitOfWork); await _servicoRequisitoDeUsuario.CadastrarAsync(rdu); await _userManager.AddToRoleAsync(usuarioCriado, Funcao.GetDescription()); } } return(result); }
public async Task <IdentityResult> CadastrarAdministradorExistente(UsuarioADE usuarioCriado, string password, EnumTipoUsuario Funcao) { UsuarioADE usuario = await ObterUsuarioPorEmail(usuarioCriado.Email); IdentityResult result_existing_user = await _userManager.AddToRoleAsync(usuario, Funcao.GetDescription()); return(result_existing_user); }