コード例 #1
0
        public void Editar(EditarClienteCommand editarClienteCommand)
        {
            ValidacaoLogica.IsTrue <ValidacaoException>(editarClienteCommand.Nome.IsNullOrWhiteSpace(), "Nome não pode ser nulo nem espaço em branco");

            Nome = editarClienteCommand.Nome;
            if (!editarClienteCommand.Email.IsNullOrWhiteSpace())
            {
                Email = editarClienteCommand.Email;
            }
        }
コード例 #2
0
        public Usuario(CriarUsuarioCommand command)
        {
            ValidarCampos(command.Nome, command.Login, command.Senha);
            ValidacaoLogica.IsTrue <ValidacaoException>(command.Cpf <= 0, "Cpf deve ser maior que zero.");
            ValidacaoLogica.IsTrue <ValidacaoException>(command.Cpf.ToString().Length != 11, "Cpf inválido. Deve conter 11 dígitos.");


            Nome  = command.Nome;
            Cpf   = command.Cpf;
            Login = command.Login;
            Senha = command.Senha;
        }
コード例 #3
0
        public AuthToken GerarToken(LoginCommand loginCommand)
        {
            ValidacaoLogica.IsTrue <ValidacaoException>(loginCommand is null, "Comando de login não pode ser nulo.");

            loginCommand.Validar();

            var usuario = usuariosRepository.ObterUm(x => x.Login == loginCommand.Login);

            ValidacaoLogica.IsTrue <RecursoNaoEncontradoException>(usuario is null, "Usuário não encontrado.");

            ValidacaoLogica.IsTrue <NaoAutorizadoException>(usuario.Senha != loginCommand.Senha, "Senha incorrenta.");

            // TODO: Implementar as roles
            var token = jwtHelper.GerarTokenAcesso(usuario.Nome, usuario.Cpf, null);

            return(new AuthToken()
            {
                DataExpiracao = token.ValidTo, Token = new JwtSecurityTokenHandler().WriteToken(token)
            });
        }
コード例 #4
0
        public void EditarTelefone(EditarTelefoneCommand editarTelefoneCommand)
        {
            ValidacaoLogica.IsTrue <ValidacaoException>(editarTelefoneCommand is null, "Comando de edição de telefone não pode ser nulo.");

            var cliente = clientesRepository.ObterUm(x => x.Cpf == editarTelefoneCommand.Cpf);

            ValidacaoLogica.IsTrue <RecursoNaoEncontradoException>(cliente is null, "Cliente não encontrado.");

            ValidacaoLogica.IsTrue <RecursoNaoEncontradoException>(cliente.Telefones is null, "Este cliente não possui telefone cadastrado.");

            ValidacaoLogica.IsFalse <RecursoNaoEncontradoException>(cliente.Telefones.Any(x => x.Id == editarTelefoneCommand.Id),
                                                                    "Só é possível editar um telefone existente para esse cliente.");

            ValidacaoLogica.IsTrue <ValidacaoException>(cliente.Telefones.Any(x => editarTelefoneCommand.DDD == x.DDD &&
                                                                              editarTelefoneCommand.Numero == x.Numero),
                                                        "Esse número já está cadastrado para esse cliente.");

            cliente.Telefones.FirstOrDefault(x => x.Id == editarTelefoneCommand.Id).Editar(editarTelefoneCommand);

            clientesRepository.Atualizar(cliente);

            unitOfWork.SaveChanges();
        }
コード例 #5
0
 private void ValidarParametros(decimal cpf, string nome)
 {
     ValidacaoLogica.IsTrue <ValidacaoException>(cpf <= 0, "CPF informado é inválido.");
     ValidacaoLogica.IsTrue <ValidacaoException>(nome.IsNullOrWhiteSpace(), "Nome do cliente deve ser informado.");
 }
コード例 #6
0
 private void ValidarCampos(string nome, string login, string senha)
 {
     ValidacaoLogica.IsTrue <ValidacaoException>(nome.IsNullOrWhiteSpace(), "Nome não pode ser espaço ou nulo.");
     ValidacaoLogica.IsTrue <ValidacaoException>(login.IsNullOrWhiteSpace(), "Dados de login inválidos.");
     ValidacaoLogica.IsTrue <ValidacaoException>(senha.IsNullOrWhiteSpace(), "Dados de senha inválidos.");
 }
コード例 #7
0
 private void ValidarPropriedades(CriarEnderecoCommand endereco)
 {
     ValidacaoLogica.IsTrue <ValidacaoException>(endereco.CEP <= 0, "Número do CEP inválido.");
     ValidacaoLogica.IsTrue <ValidacaoException>(endereco.Numero < 0, "Número da residência inválido.");
 }
コード例 #8
0
 public void Validar()
 {
     ValidacaoLogica.IsTrue <ValidacaoException>(Login.IsNullOrEmpty(), "Usuário deve ser informado.");
     ValidacaoLogica.IsTrue <ValidacaoException>(Senha.IsNullOrEmpty(), "Senha deve ser informada.");
 }