public ClienteValidatorTest()
        {
            cliente = new Cliente
            {
                CPF            = "39124368865",
                DataNascimento = DateTime.Now,
                Endereco       = new Endereco
                {
                    Bairro       = "TESTE",
                    CEP          = "TESTE",
                    Cidade       = "TESTE",
                    Numero       = 1,
                    Estado       = "SP",
                    Logradouro   = "TESTE",
                    Principal    = true,
                    TipoEndereco = TipoEndereco.Residencial
                },
                Nome     = "teste",
                NomeMae  = "teste",
                NomePai  = "teste",
                RG       = "506712308",
                Contatos = new List <Contato>
                {
                    new Contato
                    {
                        DDD    = 11,
                        Numero = 55,
                        Tipo   = TipoContato.Celular
                    }
                }
            };
            var mockFalse = new Mock <IClienteRepository>();

            this.validations = new ClienteValidator(mockFalse.Object);
        }
Ejemplo n.º 2
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var validator = new ClienteValidator();
            var result    = validator.Validate(this);

            return(result.Errors.Select(erro => new ValidationResult(erro.ErrorMessage, new[] { erro.PropertyName })));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Put(Guid id, Cliente cliente, [FromServices] ClienteValidator validator)
        {
            try
            {
                if (id != cliente.Id)
                {
                    return(BadRequest());
                }

                var result = await validator.ValidateAsync(cliente);

                if (!result.IsValid)
                {
                    return(UnprocessableEntity(new Retorno <Cliente>(result.Errors)));
                }

                _repository.Update(cliente);
                await _uow.Commit();

                cliente = await _repository.GetById(id);

                return(Ok(new Retorno <Cliente> {
                    Mensagem = "Cadastro atualizado com sucesso", Dados = cliente
                }));
            }
            catch (Exception ex)
            {
                await _uow.Rollback();

                return(BadRequest(new Retorno <Cliente>(ex.InnerException?.Message)));
            }
        }
Ejemplo n.º 4
0
        [DataRow("42.630.193/0001-04")] //CNPJ valido
        public void RetornaTrueQuandoClienteIsValid(string doc)
        {
            var cliente   = new Cliente("Nome Cliente PF", doc, "Endereço Cliente Maior que 20");
            var validator = new ClienteValidator();
            var validRes  = validator.Validate(cliente);

            Assert.IsTrue(validRes.IsValid);
        }
Ejemplo n.º 5
0
        [DataRow("42.630.193/0001-05")] //DocumentoCNPJ Mudei um Numero no Digito
        public void RetornaFalsoQuandoDocumentoIsInvalid(string cpf)
        {
            //DocumentoCPF is Null or Empty
            var cliente   = new Cliente("Nome Cliente", cpf, "Endereço Cliente Maior que 20");
            var validator = new ClienteValidator();
            var validRes  = validator.Validate(cliente);

            Assert.IsFalse(validRes.IsValid);
        }
Ejemplo n.º 6
0
        public void RetornaFalsoQuandoEnderecoIsInvalid()
        {
            //Endereco menor que 20 caracteres
            var cliente   = new Cliente("Nome Cliente", "179.506.820-51", "Endereço Cliente");
            var validator = new ClienteValidator();
            var validRes  = validator.Validate(cliente);

            Assert.IsFalse(validRes.IsValid);
        }
Ejemplo n.º 7
0
        public void RetornaFalsoQuandoClienteIsInvalid()
        {
            //Nome = NULL or Empty
            var cliente   = new Cliente("", "179.506.820-51", "Endereço Cliente Maior que 20");
            var validator = new ClienteValidator();
            var validRes  = validator.Validate(cliente);

            Assert.IsFalse(validRes.IsValid);
        }
Ejemplo n.º 8
0
        public void Celular_DeveSerInvalido(string value)
        {
            //Arrange
            var clienteValidator = new ClienteValidator();

            //Act
            bool result = clienteValidator.BeValidCelular(value);

            //Assert
            result.Should().BeFalse();
        }
Ejemplo n.º 9
0
        public void CPF_DeveSerInvalido(string cpf)
        {
            //Arrange
            var clienteValidator = new ClienteValidator();

            //Act
            bool result = clienteValidator.BeValidCpf(cpf);

            //Assert
            result.Should().BeFalse();
        }
Ejemplo n.º 10
0
        public ClienteService(
            IClienteRepository clienteRepository,
            IUnitOfWork uow,
            IOptions <CPFBlacklistType> _optionsBlacklist)
        {
            _clienteRepository = clienteRepository;
            _uow          = uow;
            _cpfBlacklist = _optionsBlacklist.Value;

            _clienteValidator = new ClienteValidator();
        }
Ejemplo n.º 11
0
        public bool Remover(ClienteViewModel cliente)
        {
            var cli    = _mapper.Map <Cliente>(cliente);
            var result = new ClienteValidator().Validate(cli);

            if (!result.IsValid)
            {
                return(false);
            }

            _unitOfWork.ClienteRepository.Remover(cli);
            return(_unitOfWork.Save() > 0);
        }
Ejemplo n.º 12
0
        private int cadastraCliente()
        {
            this.cliente._cpfCliente        = txtCPF.Text;
            this.cliente._nomeCliente       = txtNome.Text;
            this.cliente._fone1Cliente      = txtFone1.Text;
            this.cliente._fone2Cliente      = txtFone2.Text;
            this.cliente._emailCliente      = txtEmail.Text;
            this.cliente._cepCliente        = txtCEP.Text;
            this.cliente._enderecoCliente   = txtEndereco.Text;
            this.cliente._bairroCliente     = txtBairro.Text;
            this.cliente._cidadeCliente     = txtCidade.Text;
            this.cliente._estadoCliente     = txtEstado.Text;
            this.cliente._observacaoCliente = txtObservacao.Text;

            ClienteValidator cliente_validator = new ClienteValidator();
            ValidationResult resultado         = cliente_validator.Validate(this.cliente);

            if (resultado.IsValid == false)
            {
                foreach (ValidationFailure failure in resultado.Errors)
                {
                    MessageBox.Show(failure.ErrorMessage, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                return(1);
            }
            else
            {
                if (DateTime.TryParse(mskDataCadastro.Text, out DateTime data_cadastro))
                {
                    this.cliente._dataCadastro = Convert.ToDateTime(mskDataCadastro.Text);

                    if (ClienteDAO.obterClientePorCPF(this.cliente._cpfCliente) == -1)
                    {
                        ClienteDAO.cadastraCliente(this.cliente);
                        MessageBox.Show("Cliente cadastrado", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.limparCampos();
                        return(0);
                    }
                    else
                    {
                        MessageBox.Show("CPF já cadastrado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(1);
                    }
                }
                else
                {
                    MessageBox.Show("Data inválida", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return(1);
                }
            }
        }
 public ClienteDialog()
 {
     InitializeComponent();
     InitPermisos();
     DataTable        = new DataTable();
     ClienteValidator = new ClienteValidator();
     DataTable.Columns.Add("ID");
     DataTable.Columns.Add("Nombre");
     DataTable.Columns.Add("Direccion");
     DataTable.Columns.Add("Telefono");
     DataTable.Columns[0].ReadOnly = true;
     DataTable.Columns[1].ReadOnly = true;
     DataTable.Columns[2].ReadOnly = true;
     DataTable.Columns[3].ReadOnly = true;
     Actualizar();
 }
Ejemplo n.º 14
0
        public ActionResult Update(Cliente cliente)
        {
            ClienteValidator validator = new ClienteValidator();
            var result = validator.Validate(cliente);

            if (!result.IsValid)
            {
                var errors = new Dictionary <string, string>();
                foreach (var error in result.Errors)
                {
                    string message  = error.ErrorMessage;
                    string property = error.PropertyName;
                    errors.Add(property, message);
                }
                return(BadRequest(Json(errors)));
            }

            return(Json(new { id = repository.Update(cliente) }));
        }
Ejemplo n.º 15
0
        public async ValueTask Incluir(dynamic json)
        {
            try
            {
                string jsonString = Convert.ToString(json);
                Console.WriteLine(jsonString);
                dynamic data = JObject.Parse(jsonString);
                //------------
                //Verificando Campo Cliente
                Cliente cliente          = new Cliente(Convert.ToString(data.cliente.nome), Convert.ToString(data.cliente.documentoCpf), Convert.ToString(data.cliente.endereco));
                var     validatorCliente = new ClienteValidator();
                var     validResCliente  = validatorCliente.Validate(cliente);
                //cd . Console.WriteLine("CPF Cliente OK SQLite? => " + (new CpfValidador(cliente.DocumentoCpf)).EstaValido());
                Console.WriteLine("Cliente OK SQLite? => " + validResCliente.IsValid);
                Console.WriteLine(cliente.Nome);
                if (validResCliente.IsValid)
                {
                    var    parameters = new { clienteNome = cliente.Nome, clienteDocumentoCPF = cliente.DocumentoCpf, clienteEndereco = cliente.Endereco };
                    string query      = "INSERT INTO cliente ( Nome, DocumentoCPF, Endereco ) VALUES ( @clienteNome, @clienteDocumentoCPF, @clienteEndereco ) ON CONFLICT(DocumentoCPF) DO UPDATE SET Nome=excluded.Nome,Endereco=excluded.Endereco";
                    Console.WriteLine(@query, parameters);
                    using (var cnn = SimpleDbConnection())
                    {
                        await cnn.OpenAsync();

                        await cnn.ExecuteAsync(query, parameters);

                        await cnn.CloseAsync();

                        Console.WriteLine("Cliente Incluido SQLite Corretamente!");
                    }
                }
                else
                {
                    Console.WriteLine("Cliente Com Dados Incorretos!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"Error no JSON Input {e}");
            }
        }
Ejemplo n.º 16
0
        public void Cliente_DeveSerValido()
        {
            //Arrange
            var clienteValidator = new ClienteValidator();

            var cliente = new Faker <Cliente>("pt_BR")
                          .RuleFor(m => m.Id, f => System.Guid.NewGuid())
                          .RuleFor(m => m.Nome, f => f.Person.FirstName)
                          .RuleFor(m => m.Sobrenome, f => f.Person.LastName)
                          .RuleFor(m => m.Cpf, f => f.Person.Cpf(false))
                          .RuleFor(m => m.Email, f => f.Person.Email.ToLower())
                          .RuleFor(m => m.DataNascimento, f => f.Date.Past(90, System.DateTime.Now.AddYears(-18)))
                          .RuleFor(m => m.Senha, f => f.Random.AlphaNumeric(6))
                          .RuleFor(m => m.Ativo, f => f.Random.Bool())
                          .RuleFor(m => m.DataCriacao, f => f.Date.Recent())
                          .Generate(1)[0];

            //Act
            var result = clienteValidator.Validate(cliente);

            //Assert
            result.Errors.Count.Should().Be(0);
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> Register(
            Cliente usuario,
            [FromServices] ClienteValidator validator,
            [FromServices] IFluentEmail email
            )
        {
            try
            {
                var result = await validator.ValidateAsync(usuario);

                if (!result.IsValid)
                {
                    return(UnprocessableEntity(new Retorno <Usuario>(result.Errors)));
                }

                await _repository.Add(usuario);

                await _uow.Commit();

                _ = email
                    .To(usuario.Email, usuario.Nome)
                    .Subject("Cadastro realizado com sucesso")
                    .Body("Corpo da mensagem de teste")
                    .SendAsync();

                return(Ok(new Retorno <Cliente> {
                    Mensagem = "Cadastro realizado com sucesso", Dados = usuario
                }));
            }
            catch (Exception ex)
            {
                await _uow.Rollback();

                return(BadRequest(new Retorno <Usuario>(ex.InnerException?.Message)));
            }
        }
Ejemplo n.º 18
0
 public Cliente()
 {
     _validator = new ClienteValidator();
 }
Ejemplo n.º 19
0
 public ClienteController(ClienteRepository clienteRepository, ClienteValidator clientValidator)
 {
     _clienteRepository = clienteRepository;
     _clientValidator   = clientValidator;
 }
 public ClienteController()
 {
     clienteValidator = new ClienteValidator();
 }
Ejemplo n.º 21
0
        public ValidationResult Validar()
        {
            var validator = new ClienteValidator();

            return(validator.Validate(this));
        }
Ejemplo n.º 22
0
 private void ValidateCliente(ref Models.Cliente cliente, ClienteValidator validator)
 {
     cliente.ValidationResult = validator.Validate(cliente);
 }
        private void BtnAlterar_Click(object sender, EventArgs e)
        {
            ModeloCliente cliente = new ModeloCliente();

            cliente._idCliente         = Convert.ToInt32(txtID.Text);
            cliente._cpfCliente        = txtCPF.Text;
            cliente._nomeCliente       = txtNome.Text;
            cliente._fone1Cliente      = txtFone1.Text;
            cliente._fone2Cliente      = txtFone2.Text;
            cliente._emailCliente      = txtEmail.Text;
            cliente._cepCliente        = txtCEP.Text;
            cliente._enderecoCliente   = txtEndereco.Text;
            cliente._bairroCliente     = txtBairro.Text;
            cliente._cidadeCliente     = txtCidade.Text;
            cliente._estadoCliente     = txtEstado.Text;
            cliente._observacaoCliente = txtObservacao.Text;

            ClienteValidator cliente_validator = new ClienteValidator();
            ValidationResult resultado         = cliente_validator.Validate(cliente);

            if (resultado.IsValid == false)
            {
                foreach (ValidationFailure failure in resultado.Errors)
                {
                    MessageBox.Show(failure.ErrorMessage, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                if (DateTime.TryParse(mskDataCadastro.Text, out DateTime data_cadastro))
                {
                    cliente._dataCadastro = Convert.ToDateTime(mskDataCadastro.Text);
                    int clienteBD = ClienteDAO.obterClientePorCPF(cliente._cpfCliente);

                    if (clienteBD == -1)
                    {
                        ClienteDAO.alterarCliente(cliente);
                        Clientes clientes = new Clientes();
                        clientes.Show();
                        this.Hide();
                    }
                    else
                    {
                        if (clienteBD != cliente._idCliente)
                        {
                            MessageBox.Show("CPF já cadastrado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        else
                        {
                            ClienteDAO.alterarCliente(cliente);
                            Clientes clientes = new Clientes();
                            clientes.Show();
                            this.Hide();
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Data inválida", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
Ejemplo n.º 24
0
 public void Init()
 {
     validator = new ClienteValidator();
 }
Ejemplo n.º 25
0
 public ClienteTest()
 {
     _clienteValidator = new ClienteValidator();
 }
Ejemplo n.º 26
0
 public FluentValidation.Results.ValidationResult validate()
 {
     _validator = new ClienteValidator();
     return(_validator.Validate(this));
 }
Ejemplo n.º 27
0
 public ClienteController(IClienteAppService appService, ClienteValidator validator)
 {
     this.appService = appService;
     this.validator  = validator;
 }