public bool Alterar(Veiculo veiculo, string placa) { try { Veiculo obj = _veiculoDAL.BuscarPlacaAlugado(placa); if (obj != null) { if (veiculo.Placa != placa) { VerificarVinculo(placa); } return(_veiculoDAL.AlterarAlugado(veiculo, placa)); } else { obj = _veiculoDAL.BuscarPlaca(placa); if (obj != null) { if (veiculo.VeiculoAlugado != null) { if (veiculo.Placa != placa) { VerificarVinculo(placa); } return(_veiculoDAL.AlterarAlugado(veiculo, placa)); } else { if (veiculo.Placa != placa) { VerificarVinculo(placa); } return(_veiculoDAL.Alterar(veiculo, placa)); } } else { throw new NaoEncontradoException("Veículo não encontrado."); } } } catch (TransacaoException e) { throw new TransacaoException(e.Message); } catch (ConcorrenciaBancoException e) { throw new ConcorrenciaBancoException(e.Message); } }