/// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="clienteModel"></param>
        /// <returns></returns>
        public async Task <Retorno <ClienteRetornoModel> > Alterar(Guid id, ClienteModel clienteModel)
        {
            var cliente = _mapper.Map <ClienteModel, Cliente>(clienteModel);

            cliente.AlterarId(id);
            if (!cliente.Valid)
            {
                return(Retorno <ClienteRetornoModel> .Error(cliente.Notifications));
            }

            var clienteData = await _clienteRepository.ObterPorId(id);

            if (clienteData != null)
            {
                var clienteAlterar = _mapper.Map <Cliente, ClienteData>(cliente);
                if (await _clienteRepository.Alterar(clienteAlterar))
                {
                    return(Retorno <ClienteRetornoModel> .Ok());
                }
                return(Retorno <ClienteRetornoModel> .Error(new Notification("Erro", "Falha ao alterar o cliente")));
            }
            else
            {
                return(Retorno <ClienteRetornoModel> .Error(new Notification("Erro", "Cliente não encontrado")));
            }
        }
        public ActionResult Editar(Cliente cliente)
        {
            var alterou   = repository.Alterar(cliente);
            var resultado = new { status = alterou };

            return(Json(resultado));
        }
示例#3
0
        public IActionResult Put(ClienteEdicaoModel model)
        {
            //verificar se algum campo da model está com erro!
            if (!ModelState.IsValid)
            {
                return(BadRequest()); //HTTP 400 (BadRequest)
            }
            try
            {
                var cliente = clienteRepository.ObterPorId(model.IdCliente);

                if (cliente == null) //se cliente não foi encontrado
                {
                    return(BadRequest("Cliente não encontrado."));
                }

                cliente.Nome  = model.Nome;
                cliente.Email = model.Email;

                clienteRepository.Alterar(cliente);

                var result = new
                {
                    mensagem = "Cliente atualizado com sucesso.",
                    cliente //dados do cliente atualizado no banco
                };

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(StatusCode(500, "Erro: " + e.Message));
            }
        }
示例#4
0
        public IActionResult Put(ClienteEdicaoModel model)
        {
            //verificando se os campos da model passaram nas validações
            if (ModelState.IsValid)
            {
                try
                {
                    var cliente = mapper.Map <Cliente>(model);
                    clienteRepository.Alterar(cliente);

                    var result = new
                    {
                        message = "Cliente atualizado com sucesso",
                        cliente
                    };

                    return(Ok(result)); //HTTP 200 (SUCESSO!)
                }
                catch (Exception e)
                {
                    return(StatusCode(500, "Erro: " + e.Message));
                }
            }
            else
            {
                //Erro HTTP 400 (BAD REQUEST)
                return(BadRequest("Ocorreram erros de validação."));
            }
        }
        public Cliente Alterar(Cliente cliente)
        {
            if (!cliente.IsValid)
            {
                _notificacoes.AdicionarListaNotificacao(cliente.ValidationResult.Errors.ToList());
            }

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

            VerificarCpfCnpjExistente(cliente.CpfCnpj);

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

            _clienteRepository.Alterar(cliente);

            _clienteRepository.SaveChanges();

            return(cliente);
        }
示例#6
0
 public bool Alterar(Cliente cliente, out string mensagem)
 {
     if (_clienteRepository.PodeAlterar(cliente, out mensagem))
     {
         _clienteRepository.Alterar(cliente);
         return(true);
     }
     return(false);
 }
示例#7
0
        public async Task Executar(int id, Cliente cliente)
        {
            var dadosDoCliente = await _clienteRepository.BuscarPorId(id);

            dadosDoCliente.AtualizarCliente(cliente.Nome, cliente.Cpf,
                                            cliente.DataDeNascimento, cliente.Telefone, cliente.Endereco,
                                            cliente.Bairro, cliente.Sexo);

            await _clienteRepository.Alterar(dadosDoCliente);
        }
示例#8
0
        public Cliente Alterar(ClienteRequest request, string usuarioCadastro)
        {
            var clienteExistente = repositorio.ObterPorId(request.Id);

            if (clienteExistente != null)
            {
                clienteExistente.AlterarTelefone(request.Telefone);
                ValidarCliente(clienteExistente);
                if (Validar)
                {
                    return(repositorio.Alterar(clienteExistente));
                }
            }
            else
            {
                AdicionarNotificacao("Cliente", ClienteMensagem.NaoEncontrado);
            }
            return(null);
        }
示例#9
0
        public async Task <Cliente> Alterar(int id, Cliente cliente)
        {
            try
            {
                await ValidarClienteExistente(id);
                await ValidarCidadeExistente(cliente.IdCidade);

                return(await _clienteRepository.Alterar(cliente));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public bool Alterar(string dados)
        {
            bool    success = true;
            Cliente c       = JsonConvert.DeserializeObject <Cliente>(dados);

            try
            {
                repositorio.Alterar(c);
            }
            catch (MySqlException ex)
            {
                success = false;
                throw ex;
            }
            return(success);
        }
        public IActionResult Put([FromBody] Cliente cliente)
        {
            try
            {
                if (!_repo.Encontrar(cliente))
                {
                    return(NoContent());
                }

                _repo.Alterar(cliente);
                return(Ok("Cliente alterado com sucesso!"));
            }
            catch (System.Exception)
            {
                return(StatusCode(500));
            }
        }
示例#12
0
        public async Task Alterar(AlterarClienteRequest alterarCliente, IOutputPort <ClienteResponse> outputPort)
        {
            var validations = _alterarClienteValidator.Validate(alterarCliente);

            if (!validations.IsValid)
            {
                outputPort.Handler(new ClienteResponse(validations.Errors.Select(x => x.ErrorMessage)));
                return;
            }

            if (!await Existe(alterarCliente.Id, outputPort))
            {
                return;
            }

            var cli = _mapper.Map <ClienteModel>(alterarCliente);
            await _ClienteRepository.Alterar(cli);

            outputPort.Handler(_mapper.Map <ClienteResponse>(cli));
        }
示例#13
0
        public void AtualizarCliente(Cliente cliente)
        {
            var clientePorCpf = clienteRepository.ObterPorCpf(cliente.Cpf);

            if (clientePorCpf.Cpf != null && clientePorCpf.IdCliente != cliente.IdCliente)
            {
                throw new Exception("Erro, o CPF informado já encontra-se cadastrado.");
            }

            var clientePorEmail = clienteRepository.ObterPorEmail(cliente.Email);

            if (clientePorEmail != null && clientePorEmail.IdCliente != cliente.IdCliente)
            {
                throw new Exception("Erro, o email informado já encontra-se cadastrado.");
            }

            clienteRepository.Alterar(cliente);

            //var mailTo = cliente.Email;
            //var subject = "Cliente atualizado.";
            //var body = "";

            //emailMessage.SendMessage(mailTo, subject, body);
        }
示例#14
0
        public void Alterar(ClienteView input)
        {
            var obj = _mapper.Map <Cliente>(input);

            _ClienteRepository.Alterar(obj);
        }
示例#15
0
 public IEnumerable <Cliente> Put([FromBody] Cliente cliente)
 {
     _repo.Alterar(cliente);
     return(_repo.SelecionarTudo());
 }
示例#16
0
 public void Alterar(Cliente cli)
 {
     clienteRepository.Alterar(cli);
 }
示例#17
0
 public async Task <Cliente> Alterar(Cliente entity)
 {
     return(await _repository.Alterar(entity));
 }