예제 #1
0
        public void Dado_informacoes_corretas_o_usuario_deve_ser_cadastrado()
        {
            var _nome      = "Gabriel";
            var _sobrenome = "Carvalho";
            var _email     = "*****@*****.**";
            var _password  = "******";
            var command    = new RegisterClienteCommand(_nome, _sobrenome, _email, _password, ETipoUsuario.Cliente);

            var commandResult = (GenericCommandResult)_handler.Handle(command);

            Assert.IsTrue(commandResult.Sucess);
        }
예제 #2
0
        public ICommandResult Handle(RegisterClienteCommand command)
        {
            if (!command.Validate())
            {
                return(new GenericCommandResult(false, "Informações inválidas", command.Notifications));
            }

            if (_clienteRepository.UserExist(command.Email))
            {
                return(new GenericCommandResult(false, "E-mail já cadastrado"));
            }

            var email   = new Email(command.Email);
            var usuario = new Usuario(email, Hash.Encript(command.Senha), ETipoUsuario.Cliente);
            var cliente = new Cliente(command.Nome, command.Sobrenome, usuario);

            _clienteRepository.Save(cliente);

            return(new GenericCommandResult(true, "Usuário cadastrado com sucesso", cliente));
        }
예제 #3
0
        public async Task <IActionResult> Register(RegisterClienteCommand obj)
        {
            var response = await _mediator.Send(obj);

            return(Created("201", response));
        }