Exemplo n.º 1
0
        public ICommandResult Handle(UserRegisterCommand command)
        {
            var commandResult = new UserRegisterCommandResult();

            if (!(_validationService.Validate(command)))
            {
                return(commandResult);
            }

            //Validações de coisas que não vão em repositório
            if (!(command.HasValidEmail() & command.HasValidPassword()))
            {
                return(commandResult);
            }

            //Validações de coisas que vão em repositório
            if (!(command.HasUniqueUserEmail(_personRepository)))
            {
                return(commandResult);
            }

            //Gera nova entidade
            var person = new Person(Guid.NewGuid(), command.Name, command.DocumentNumber, phoneNumber: command.PhoneNumber, email: command.Email,
                                    password: _passwordService.Encrypt(command.Password), serialKey: Guid.NewGuid().ToString().Replace("-", ""));

            //Adiciona as entidades ao repositório
            var personAdded = _personRepository.Add(person);

            commandResult.SerialKey = personAdded.SerialKey;

            return(commandResult);
        }
Exemplo n.º 2
0
        public IHttpActionResult Register(UserRegisterCommand command)
        {
            UserRegisterCommandResult result = (UserRegisterCommandResult)_handlerRegister.Handle(command);

            return(Response(result));
        }