コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }