public async Task <AutenticacaoResult> RegistrarUsuarioAsync(RegistrarUsuarioRequest request)
        {
            var registrarUsuarioCommand = new RegistrarUsuarioCommand
            {
                RegistrarUsuario = _mapper
                                   .Map <RegistrarUsuarioModel>(request)
            };

            var autenticacaoResult = await _mediator
                                     .Send(registrarUsuarioCommand);

            if (!autenticacaoResult.Sucesso)
            {
                return(autenticacaoResult);
            }

            await _mediator.Publish(new UsuarioRegistradoEvent
            {
                UsuarioId = autenticacaoResult.Usuario.Id,
                Nome      = $"{request.Nome} {request.Sobrenome}",
                Telefone  = request.Telefone,
                Email     = request.Email
            });

            return(autenticacaoResult);
        }
Пример #2
0
        public RegistrarUsuarioService(RegistrarUsuarioCommand command, IUsuarioRepository repository) : base(command)
        {
            _command    = command;
            _repository = repository;

            this.Run();
        }
Пример #3
0
        public GenericCommandResult Create([FromBody] RegistrarUsuarioCommand command, [FromServices] UsuarioHandler handler)
        {
            command.IdFirebase = HttpContext.User.Identities.FirstOrDefault().Claims.FirstOrDefault(c => c.Type.Contains("user_id")).Value;
            command.Email      = HttpContext.User.Identities.FirstOrDefault().Claims.FirstOrDefault(c => c.Type.Contains("email")).Value;

            return((GenericCommandResult)handler.Handle(command));
        }
Пример #4
0
        public async Task <IActionResult> PostRegistrar(RegistrarUsuarioRequest request)
        {
            var command = new RegistrarUsuarioCommand(request.NombreDeUsuario, request.Contrasenia, request.Nombre, request.Apellido, request.Email);

            await this.mediator.Send(command);

            return(this.Ok());
        }
Пример #5
0
        public async Task <IActionResult> Cadastrar([FromBody] UsuarioRequestViewModel viewmodel)
        {
            RegistrarUsuarioCommand command = _mapper.Map <RegistrarUsuarioCommand>(viewmodel);
            await _bus.EnviarComando(command);

            ApplicationUser usuario = await _userManager.FindByEmailAsync(viewmodel.Email);

            return(Response(_mapper.Map <UsuarioResponseViewModel>(usuario)));
        }
 public static void Map(InputModelToDomainCommand config)
 {
     config.CreateMap <RegistrarUsuarioInputModel, RegistrarUsuarioCommand>()
     .ConstructUsing(x => RegistrarUsuarioCommand.Criar(
                         x.PrimeiroNome,
                         x.SegundoNome,
                         x.Email,
                         x.Senha));
 }
Пример #7
0
 public Task <HttpResponseMessage> Registrar([FromBody] RegistrarUsuarioCommand command)
 {
     try
     {
         return(CreateResponseMessageSuccess(_mediator.Send(command).Result));
     }
     catch (Exception)
     {
         return(CreateResponseMessageError(_mediator.Send(command).Result));
     }
 }
        public void Dado_um_novo_usuario_sua_validacao_devera_falhar()
        {
            var command = new RegistrarUsuarioCommand();

            command.Login = "";
            command.Senha = "123456t";

            var service = new RegistrarUsuarioService(command, new FakeUsuarioRepository());

            Assert.True(service.HasNotifications());
        }
        private async Task <ResponseMessage> RegistrarUsuario(UsuarioRegistradoIntegrationEvent message)
        {
            var usuarioCommand = new RegistrarUsuarioCommand(message.Id, message.Nome, message.Email, message.Cpf);
            ValidationResult sucesso;

            using (var scope = _serviceProvider.CreateScope())
            {
                var mediator = scope.ServiceProvider.GetRequiredService <IMediatorHandler>();
                sucesso = await mediator.EnviarComando(usuarioCommand);
            }

            return(new ResponseMessage(sucesso));
        }
        public Domain.Usuario.Models.Usuario Atualizar(RegistrarUsuarioCommand command)
        {
            var usuario = new Domain.Usuario.Models.Usuario(command.Nome, command.Email, command.Senha, command.Perfil);

            if (_repository.UsuarioJaExiste(command.EmailNovo))
            {
                DomainEvent.Raise(new DomainNotification("RegistroExistente", "O E-mail já está registrado no sistema."));
            }

            usuario.Atualizar();

            if (Commit())
            {
                _repository.Update(usuario);

                //Raise Domain events here
                return(usuario);
            }

            return(null);
        }
        public Domain.Usuario.Models.Usuario Registrar(RegistrarUsuarioCommand command)
        {
            var usuario = new Domain.Usuario.Models.Usuario(command.Nome, command.Email, command.Senha, command.Perfil);

            if (_repository.UsuarioJaExiste(usuario.Email))
            {
                DomainEvent.Raise(new DomainNotification("RegistroExistente", "O E-mail já está registrado no sistema."));
            }

            usuario.Registrar();

            if (Commit())
            {
                _repository.Add(usuario);

                //disparar Domain events aqui
                DomainEvent.Raise(new RegistrarUsuario(usuario));
                return(usuario);
            }

            return(null);
        }
Пример #12
0
        public async Task <IActionResult> Register([FromBody] RegisterViewModel model, int version)
        {
            if (!ModelState.IsValid)
            {
                NotificarErroModelInvalida();
                return(Response());
            }

            var user = new ApplicationUser {
                UserName = model.Email, Email = model.Email
            };

            var result = await _userManager.CreateAsync(user, model.Senha);

            if (result.Succeeded)
            {
                await _userManager.AddClaimAsync(user, new Claim("Contas", "Visualizar"));

                await _userManager.AddClaimAsync(user, new Claim("Contas", "Alterar"));

                var registroCommand = new RegistrarUsuarioCommand(Guid.Parse(user.Id), model.Nome, model.Sobrenome, model.CPF, user.Email, model.DataNascimento);
                await _mediator.EnviarComando(registroCommand);

                if (!OperacaoValida())
                {
                    await _userManager.DeleteAsync(user);

                    return(Response(model));
                }

                _logger.LogInformation(1, "Usuario criado com sucesso!");
                var response = GerarTokenUsuario(new LoginViewModel {
                    Email = model.Email, Senha = model.Senha
                });
                return(Response(response));
            }
            AdicionarErrosIdentity(result);
            return(Response(model));
        }
        public async Task Handle_AutenticacaoHandler_UsuarioRegistradoComSucesso()
        {
            var faker     = new Faker("pt_BR");
            var novaSenha = faker.Internet.Password();
            var comando   = new RegistrarUsuarioCommand
            {
                RegistrarUsuario = new RegistrarUsuarioModel
                {
                    Nome             = faker.Person.FirstName,
                    Sobrenome        = faker.Person.LastName,
                    Email            = faker.Person.Email,
                    Username         = faker.Person.UserName,
                    Senha            = novaSenha,
                    ConfirmacaoSenha = novaSenha
                }
            };

            var authResult = await _mediator.Send(comando);

            authResult.Mensagem.Should().Be(Dicionario.MS003);
            authResult.Sucesso.Should().BeTrue();
            authResult.Token.Should().NotBeNullOrEmpty();
            authResult.Usuario.Email.Should().Be(comando.RegistrarUsuario.Email);
        }
Пример #14
0
 public async Task <AutenticacaoResult> Handle(RegistrarUsuarioCommand request, CancellationToken cancellationToken)
 {
     return(await _autenticacaoServico.RegistrarUsuarioAsync(request.RegistrarUsuario));
 }
Пример #15
0
 public async Task <HttpResponseMessage> RegistrarUsuario([FromBody] RegistrarUsuarioCommand command)
 {
     return(await Task.FromResult(Request.CreateResponse(HttpStatusCode.OK, _mediator.Send(command))));
 }
Пример #16
0
        public IActionResult Post([FromBody] RegistrarUsuarioCommand command)
        {
            var service = new RegistrarUsuarioService(command, _usuarioRepo);

            return(ReturnResponse(service, new { message = "Usuário cadastrado com sucesso" }, null));
        }