Preciso adicionar somente uma conta ativa na tableview, preciso fazer a validação, não to conseguindo, alguem pode me ajudar?
O código é o seguinte abaixo
AS MINHAS TENTATIVAS FORAM A DO CÓDIGO ENTRE OS TRAÇOS
OBS: a função isAtiva() retorna um boolean e a getStatus() retorna o Status com SIM e NÂO
// Verifica se há duplicidade de cheques no grid.
final int[] count = {0};
final int[] cont = {0};
public void validarDadosBancarios(DadosBancariosMDL b, ObservableList<DadosBancariosMDL> gridDBancarios, Funcao funcao, int posicao) throws RegistroIncorretoException, SQLException {
// Verifica se há duplicidade de cheques no grid.
final int[] count = {0};
final int[] cont = {0};
gridDBancarios.forEach(e -> {
if (e.getBanco_id().equals(b.getBanco_id()) && e.getAgencia().equals(b.getAgencia()) && e.getConta().equals(b.getConta())) {
if (funcao == INCLUSAO || (funcao == ALTERACAO && posicao != count[0])) {
message.add("Não é possível lançar duas CONTAS BANCÁRIAS com o mesmo BANCO, AGÊNCIA e CONTA.");
}
}
System.out.println("----------------------------------------------------------------");
if(e.getStatus().equals("SIM")){
cont[0] = 1;
}
if(e.getStatus().equals("NÂO")){
cont[0] = 0;
}
if(e.getStatus().equals("SIM") && b.isAtiva() && funcao == ALTERACAO){
cont[0] = 0;
}
if (cont[0] == 1) {
message.add("Apenas uma conta ativa.");
}
if (e.isAtiva() && e.getStatus().equals("SIM") && cont[0] == 0 && e.getStatus().equals(b.getStatus())) {
cont[0] = 1;
}
if (e.isAtiva() && e.getStatus().equals("SIM") && cont[0] == 1) {
cont[0] =0 ;
}
if (b.isAtiva() && funcao == ALTERACAO && cont[0] == 1 && e.getStatus().equals("NÂO")) {
cont[0] = 0;
}
System.out.println("----------------------------------------------------------------");
count[0]++;
});
if (message.size() > 0) {
throw new RegistroIncorretoException(message);
}
}
}