예제 #1
0
        public async Task Adicionar(Cliente cliente)
        {
            if (!cliente.EhValido())
            {
                Notificar(cliente.ValidationResult);
                return;
            }

            if (!CPFValidation.Validar(cliente.CPF))
            {
                Notificar("Cliente com CPF inválido");
                return;
            }

            if (_clienteRepository.Buscar(c => c.CPF == cliente.CPF).Any())
            {
                Notificar("Já existe um cliente com este CPF informado.");
                return;
            }


            await _clienteRepository.Adicionar(cliente);

            await _UoW.Commit();
        }
예제 #2
0
        public ActionResult Salvar(Cliente cli)
        {
            if (ModelState.IsValid)
            {
                if (cli.Id == 0)
                {
                    //contexto.Clientes.Add(cli);
                    _clienteRepo.Adicionar(cli);
                }
                else
                {
                    //contexto.Entry(cli).State = System.Data.Entity.EntityState.Modified;
                    _clienteRepo.Editar(cli);
                }


                //contexto.SaveChanges();
            }
            else
            {
                return(View("Novo"));
            }

            return(RedirectToAction("Index"));
        }
예제 #3
0
        public ActionResult Salvar(ClienteVM cliVM)
        {
            if (ModelState.IsValid)
            {
                var clienteDB = new Cliente {
                    Id = cliVM.Id, Nome = cliVM.Nome, Idade = (byte)cliVM.Idade
                };
                if (cliVM.Id == 0)
                {
                    // _ctx.Clientes.Add(clienteDB);
                    _cliRepo.Adicionar(clienteDB);
                }
                else
                {
                    //_ctx.Entry(clienteDB).State = System.Data.Entity.EntityState.Modified;
                    _cliRepo.Editar(clienteDB);
                }

                //_ctx.SaveChanges();
                //Retorna uma string na actionresult
                //return Content("Dados salvos!");
                return(RedirectToAction("Index"));
            }

            return(View("AddEdit", cliVM));
        }
        public async Task <ValidationResult> Handle(RegistrarClienteCommand message, CancellationToken cancellationToken)
        {
            if (!message.EValido())
            {
                return(message.ValidationResult);
            }

            var cliente = new Cliente(message.Id, message.Nome, message.Email, message.Cpf);

            // Validaçoes de negocio

            var clienteExiste = await _clienteRepository.BuscarPorCpf(cliente.Cpf.Numero);

            if (clienteExiste != null)
            {
                AdicionarErro("Este CPF já está em uso.");
                return(ValidationResult);
            }

            _clienteRepository.Adicionar(cliente);

            cliente.AdicionarEvento(new ClienteRegistradoEvent(
                                        message.Id,
                                        message.Nome,
                                        message.Email,
                                        message.Cpf));

            var resultado = await PersistirDados(_clienteRepository.UnitOfWork);

            return(resultado);
        }
        public Cliente Adicionar(Cliente cliente)
        {
            if (!cliente.IsValid)
            {
                _notificacoes.AdicionarListaNotificacao(cliente.ValidationResult.Errors.ToList());
            }

            if (_notificacoes.TemNotificacao())
            {
                return(cliente);
            }

            Cliente clienteExistente = _clienteRepository.ObterPorCpfCnpj(cliente.CpfCnpj);

            if (!string.IsNullOrEmpty(clienteExistente?.CpfCnpj))
            {
                _notificacoes.AdicionarNotificacao($"Cliente de CpfCnpj.: {clienteExistente.CpfCnpj} já existe no sistema!");
                return(cliente);
            }

            _clienteRepository.Adicionar(cliente);

            _clienteRepository.SaveChanges();

            return(cliente);
        }
        public int Add(Cliente cliente)
        {
            cliente.Validar();
            var novoCliente = _clienteRepository.Adicionar(cliente);

            return(novoCliente.Id);
        }
예제 #7
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                bool resultadoValidacaoEmail = validacao.ValidarEmail(txtEmail.Text);

                if (!resultadoValidacaoEmail)
                {
                    cliente = new Cliente();

                    cliente.Nome     = txtNome.Text;
                    cliente.Email    = txtEmail.Text;
                    cliente.Telefone = txtTelefone.Text;

                    clienteRepository.Adicionar(cliente);
                    clienteRepository.Salvar();

                    MessageBox.Show("Salvo com sucesso!", "Confirmação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LimparCampos();
                }
                else
                {
                    MessageBox.Show("E-mail inválido.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Algo deu errado. Tente novamente mais tarde ou contate o administrador. \n\n\nDetalhes: \n" + ex.Message, "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #8
0
        public ClienteViewModel Adicionar(ClienteViewModel model)
        {
            var cliente = _mapper.Map <Cliente>(model);

            _clienteRepository.Adicionar(cliente);
            return(model);
        }
예제 #9
0
        public async Task <ValidationResult> Handle(RegistrarClienteCommand message, CancellationToken cancellationToken)
        {
            if (!message.EhValido())
            {
                return(message.ValidationResult);
            }

            var cliente = new Cliente(message.Id, message.Nome, message.Email, message.Cpf);

            //Validações de negocio
            var clienteExistente = await _clienteRepository.ObterPorCpf(cliente.Cpf.Numero);

            //Persisti no banco
            if (clienteExistente != null)// ja existem o cliente
            {
                AdicionarErro("Este CPF já existe");
                return(ValidationResult);
            }

            _clienteRepository.Adicionar(cliente);

            cliente.AdicionarEvento(new ClienteRegistradoEvent(message.Id, message.Nome, message.Email, message.Cpf));

            return(await PersistirDados(_clienteRepository.UnitOfWork));
        }
예제 #10
0
 public void Adicionar(ClienteModel obj)
 {
     _produtoRepository.ObterPorId(Guid.NewGuid());
     if (_clienteRepository.ObterPorId(Guid.NewGuid()) == null)
     {
         _clienteRepository.Adicionar(obj);
     }
 }
예제 #11
0
 public Cliente Adicionar(Cliente entity)
 {
     if (_app.Buscar(x => x.Cpf == entity.Cpf).Count() != 0)
     {
         return(null);
     }
     return(_app.Adicionar(entity));
 }
예제 #12
0
        public Cliente Adicionar(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return(cliente);
            }

            return(_clienteRepository.Adicionar(cliente));
        }
예제 #13
0
        public bool Adicionar(Cliente cliente)
        {
            if (cliente.Validacao.IsValid)
            {
                return(_clienteRepository.Adicionar(cliente));
            }

            return(false);
        }
예제 #14
0
        public Cliente Adicionar(Cliente cliente)
        {
            if (PossuiConformidade(new ClienteAptoParaCadastroValidation(_clienteRepository).Validate(cliente)))
            {
                _clienteRepository.Adicionar(cliente);
            }

            return(cliente);
        }
예제 #15
0
        public async Task <bool> Adicionar(Cliente cliente)
        {
            var status = await _statusRepository.ObterPorCodigo((int)Status.CodigoStatus.CadastroPrevio);

            cliente.StatusId = status.Id;
            _clienteRepository.Adicionar(cliente);

            return((await _clienteRepository.SaveChanges()) > 0);
        }
예제 #16
0
 public Cliente Adicionar(Cliente entity)
 {
     //TODO: Adicionar Regra de Negocio antes de Adicionar no DB.
     if (entity.Nome != string.Empty)
     {
         return(_clienteRepository.Adicionar(entity));
     }
     return(null);
 }
        public void Adicionar(Cliente cliente)
        {
            if (!cliente.EhValido())
            {
                return;
            }

            _clienteRepository.Adicionar(cliente);
        }
        public ClienteEnderecoViewModel Adicionar(ClienteEnderecoViewModel clienteEnderecoViewModel)
        {
            var cliente  = Mapper.Map <Cliente>(clienteEnderecoViewModel.Cliente);
            var endereco = Mapper.Map <Endereco>(clienteEnderecoViewModel.Endereco);

            cliente.Enderecos.Add(endereco);
            _clienteRepository.Adicionar(cliente);

            return(clienteEnderecoViewModel);
        }
예제 #19
0
        public void Adicionar(Cliente cliente)
        {
            if (!cliente.EhValido())
            {
                return;
            }

            _clienteRepository.Adicionar(cliente);
            _mediator.Publish(new ClienteEmailNotification("*****@*****.**", cliente.Email, "", ""));
        }
예제 #20
0
        public async Task <bool> Adicionar(Cliente cliente)
        {
            if (!ExecutarValidacao(new ClienteValidation(), cliente))
            {
                return(false);
            }
            await _clienteRepository.Adicionar(cliente);

            return(true);
        }
예제 #21
0
 public async Task Adicionar(Cliente entity)
 {
     //Validar
     if (!ExecutarValidacao(new ClienteValidation(), entity))
     {
         return;
     }
     //Executar
     await _clienteRepository.Adicionar(entity);
 }
예제 #22
0
        public Cliente Adicionar(Cliente cliente)
        {
            //if (!cliente.IsValid())
            //{

            return(_clienteRepository.Adicionar(cliente));

            //return cliente;
            //}
        }
예제 #23
0
        public void Adicionar(Cliente cliente)
        {
            if (!cliente.EhValido())
            {
                return;
            }

            clienteRepository.Adicionar(cliente);
            mediator.Publish(new ClienteEmailNotification("*****@*****.**", cliente.Email, "Olá", "Bem vindo!"));
        }
예제 #24
0
        public Cliente Adicionar(Cliente cliente)
        {
            if (!cliente.EhValido())
            {
                return(cliente);
            }

            cliente.ValidationResult = new ClienteAptoParaCadastroValidation(_clienteRepository).Validate(cliente);

            return(!cliente.ValidationResult.IsValid?cliente: _clienteRepository.Adicionar(cliente));
        }
예제 #25
0
 public int PersistirCliente(ClienteET cliente)
 {
     if (string.IsNullOrEmpty(_variables.UserName))
     {
         _variables.UserName = "******";
     }
     cliente.Usuario = _variables.UserName;
     _clienteRepository.Adicionar(cliente);
     _unitOfWork.Commit();
     return(cliente.Id);
 }
예제 #26
0
        public void Adicionar(Cliente cliente)
        {
            if (!cliente.EhValido())
            {
                return;
            }

            _clienteRepository.Adicionar(cliente);
            //_mediator.Publish(new ClienteEmailNotification("*****@*****.**", cliente.Email, cliente.GetHashCode().ToString(), "cliente atualizado"));
            _mediator.Publish(new ClienteEmailNotification("*****@*****.**", cliente.Email, "Olá", "Bem vindo!"));
        }
예제 #27
0
        public Cliente Adicionar(Cliente Cliente)
        {
            if (!Cliente.IsValid())
            {
                return(Cliente);
            }

            Cliente.ValidationResult = new ClienteEstaConsistenteValidation(_ClienteRepository).Validate(Cliente);

            return(!Cliente.ValidationResult.IsValid ? Cliente :  _ClienteRepository.Adicionar(Cliente));
        }
        public async Task <IActionResult> Create(ClienteViewModel clienteViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(clienteViewModel));
            }

            var cliente = _mapper.Map <Cliente>(clienteViewModel);
            await _clienteRepository.Adicionar(cliente);

            return(RedirectToAction(nameof(Index)));
        }
예제 #29
0
        public ClienteEnderecoViewModel Adicionar(ClienteEnderecoViewModel clienteEnderecoViewModel)
        {
            var cliente  = Mapper.Map <Cliente>(clienteEnderecoViewModel.Cliente);
            var endereco = Mapper.Map <Endereco>(clienteEnderecoViewModel.Endereco);

            //cliente sempre entra ativo
            cliente.Ativar();
            cliente.AdicionarEndereco(endereco);

            _clienteRepository.Adicionar(cliente);

            return(clienteEnderecoViewModel);
        }
예제 #30
0
        public Cliente Adicionar(Cliente cliente)
        {
            if (!cliente.IsValid())
            {
                return(cliente);
            }

            cliente.ValidationResult = new ClienteAptoParaCadastroValidation(_clienteRepository).Validate(cliente); //VERIFICA SE O CPF E EMAIL ESTAO CADASTRDOS NA BASE
            if (!cliente.ValidationResult.IsValid)
            {
                return(cliente);
            }

            return(_clienteRepository.Adicionar(cliente));
        }