コード例 #1
0
        public async Task <Guid> Cadastrar(AddUsuarioViewModel usuarioViewModel)
        {
            var createCommand = _mapper.Map <CreateUsuarioCommand>(usuarioViewModel);

            await _busMS.PublishAsync(createCommand);

            return(createCommand.Id);
        }
コード例 #2
0
        public async Task HandleAsync(CreateUsuarioCommand message)
        {
            //TODO: Remover a parte de identity do dominio e passar para o service app''1
            // Cria usuário no Identity
            var userIdentity = new ApplicationUser {
                UserName = message.Usuario, Email = message.Email, Active = true, FirstPass = true
            };
            var result = await _userManager.CreateAsync(userIdentity, message.Senha);

            if (!result.Succeeded)
            {
                NotificarValidacoesErroIdentity(message.Id, result.Errors);
                await SalvarNotificacoes();

                await _busMS.PublishAsync(new CreateUsuarioRejectedEvent(message.Id, message.Nome, message.CPF, message.Email, message.Ativo, message.DataCadastro, message.AspNetUserId));
            }

            //Cria usuário de aplicação
            var usuario = UsuarioModel.UsuarioModelFactory.NovoUsuarioCompleto(message.Id, message.Nome, message.CPF, message.Email, message.AspNetUserId, message.DataCadastro, message.Ativo);

            usuario.SetAspNetUserId(userIdentity.Id);
            usuario.AtivarUsuario();

            if (!UsuarioValido(usuario))
            {
                return;
            }

            _userRepo.Add(usuario);

            if (Commit())
            {
                await _busMS.PublishAsync(new UsuarioCreatedEvent(usuario.Id, usuario.Nome, usuario.CPF, usuario.Email, usuario.Ativo, usuario.DataCadastro, usuario.AspNetUserId));
            }
            else
            {
                await SalvarNotificacoes();

                await _busMS.PublishAsync(new CreateUsuarioRejectedEvent(message.Id, message.Nome, message.CPF, message.Email, message.Ativo, message.DataCadastro, message.AspNetUserId));
            };
        }