diff --git a/app/src/main/java/com/example/pap_teste/DetalhesReservasActivity.java b/app/src/main/java/com/example/pap_teste/DetalhesReservasActivity.java index de06bde..bd2b8a8 100644 --- a/app/src/main/java/com/example/pap_teste/DetalhesReservasActivity.java +++ b/app/src/main/java/com/example/pap_teste/DetalhesReservasActivity.java @@ -75,17 +75,20 @@ public class DetalhesReservasActivity extends AppCompatActivity { private void loadReservas() { databaseReference = com.google.firebase.database.FirebaseDatabase.getInstance().getReference("reservas"); - databaseReference.orderByChild("restauranteEmail").equalTo(restaurantEmail) - .addValueEventListener(new com.google.firebase.database.ValueEventListener() { + databaseReference.addValueEventListener(new com.google.firebase.database.ValueEventListener() { @Override public void onDataChange( @androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) { reservas.clear(); + String targetEmail = restaurantEmail != null ? restaurantEmail.trim() : ""; for (com.google.firebase.database.DataSnapshot data : snapshot.getChildren()) { com.example.pap_teste.models.Reserva r = data .getValue(com.example.pap_teste.models.Reserva.class); if (r != null && r.getEstado() != null && !"Arquivada".equals(r.getEstado())) { - reservas.add(r); + String rEmail = r.getRestauranteEmail(); + if (rEmail != null && rEmail.trim().equalsIgnoreCase(targetEmail)) { + reservas.add(r); + } } } refreshList(); diff --git a/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java b/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java index d47ad95..f711170 100644 --- a/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java +++ b/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java @@ -111,6 +111,8 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { return; } } + + final String targetEmail = email != null ? email.trim() : ""; java.util.Calendar cal = java.util.Calendar.getInstance(); String todayDate = cal.get(java.util.Calendar.DAY_OF_MONTH) + "/" + @@ -118,7 +120,6 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { cal.get(java.util.Calendar.YEAR); com.google.firebase.database.FirebaseDatabase.getInstance().getReference("reservas") - .orderByChild("restauranteEmail").equalTo(email) .addValueEventListener(new com.google.firebase.database.ValueEventListener() { @Override public void onDataChange(@androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) { @@ -128,8 +129,11 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) { com.example.pap_teste.models.Reserva r = ds.getValue(com.example.pap_teste.models.Reserva.class); if (r != null && r.getEstado() != null && (r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída")) && todayDate.equals(r.getData())) { - found = true; - addReservaView(llProximasReservas, r); + String rEmail = r.getRestauranteEmail(); + if (rEmail != null && rEmail.trim().equalsIgnoreCase(targetEmail)) { + found = true; + addReservaView(llProximasReservas, r); + } } } @@ -189,7 +193,7 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { return; } } - final String finalEmail = email; + final String finalEmail = email != null ? email.trim() : ""; java.util.Calendar cal = java.util.Calendar.getInstance(); String todayDate = cal.get(java.util.Calendar.DAY_OF_MONTH) + "/" + @@ -197,19 +201,20 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { cal.get(java.util.Calendar.YEAR); com.google.firebase.database.DatabaseReference refReservas = com.google.firebase.database.FirebaseDatabase.getInstance().getReference("reservas"); - refReservas.orderByChild("restauranteEmail").equalTo(finalEmail) - .addValueEventListener(new com.google.firebase.database.ValueEventListener() { + refReservas.addValueEventListener(new com.google.firebase.database.ValueEventListener() { @Override public void onDataChange(@androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) { int reservasHoje = 0; int listaEspera = 0; for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) { com.example.pap_teste.models.Reserva r = ds.getValue(com.example.pap_teste.models.Reserva.class); - if (r != null && r.getEstado() != null) { - if ((r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída") || r.getEstado().equals("Arquivada")) && todayDate.equals(r.getData())) { - reservasHoje++; - } else if ("Pendente".equals(r.getEstado())) { - listaEspera++; + if (r != null && r.getRestauranteEmail() != null && r.getRestauranteEmail().trim().equalsIgnoreCase(finalEmail)) { + if (r.getEstado() != null) { + if ((r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída") || r.getEstado().equals("Arquivada")) && todayDate.equals(r.getData())) { + reservasHoje++; + } else if ("Pendente".equals(r.getEstado())) { + listaEspera++; + } } } } @@ -229,7 +234,7 @@ public class EstablishmentDashboardActivity extends AppCompatActivity { int mesasLivres = 0; for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) { com.example.pap_teste.models.Mesa mesa = ds.getValue(com.example.pap_teste.models.Mesa.class); - if (mesa != null && finalEmail.equals(mesa.getRestauranteEmail())) { + if (mesa != null && mesa.getRestauranteEmail() != null && mesa.getRestauranteEmail().trim().equalsIgnoreCase(finalEmail)) { if ("Livre".equalsIgnoreCase(mesa.getEstado())) { mesasLivres++; } diff --git a/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java b/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java index 4554b80..4e4cf27 100644 --- a/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java +++ b/app/src/main/java/com/example/pap_teste/ListaEsperaActivity.java @@ -211,15 +211,18 @@ public class ListaEsperaActivity extends AppCompatActivity { private void loadReservasPendentes() { databaseReference = FirebaseDatabase.getInstance().getReference("reservas"); - databaseReference.orderByChild("restauranteEmail").equalTo(restaurantEmail) - .addValueEventListener(new ValueEventListener() { + databaseReference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@androidx.annotation.NonNull DataSnapshot snapshot) { reservasPendentes.clear(); + String targetEmail = restaurantEmail != null ? restaurantEmail.trim() : ""; for (DataSnapshot data : snapshot.getChildren()) { Reserva r = data.getValue(Reserva.class); if (r != null && "Pendente".equals(r.getEstado())) { - reservasPendentes.add(r); + String rEmail = r.getRestauranteEmail(); + if (rEmail != null && rEmail.trim().equalsIgnoreCase(targetEmail)) { + reservasPendentes.add(r); + } } } refreshList(); diff --git a/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java b/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java index fbcd193..52edcf7 100644 --- a/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java +++ b/app/src/main/java/com/example/pap_teste/NovaReservaActivity.java @@ -213,7 +213,7 @@ public class NovaReservaActivity extends AppCompatActivity { int totalMesas = 0; for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) { com.example.pap_teste.models.Mesa m = ds.getValue(com.example.pap_teste.models.Mesa.class); - if (m != null && restEmail.equals(m.getRestauranteEmail())) { + if (m != null && m.getRestauranteEmail() != null && restEmail.trim().equalsIgnoreCase(m.getRestauranteEmail().trim())) { totalMesas++; } } @@ -238,8 +238,7 @@ public class NovaReservaActivity extends AppCompatActivity { com.google.firebase.database.DatabaseReference reservasRef = com.google.firebase.database.FirebaseDatabase .getInstance().getReference("reservas"); - reservasRef.orderByChild("restauranteEmail").equalTo(restEmail) - .addListenerForSingleValueEvent(new com.google.firebase.database.ValueEventListener() { + reservasRef.addListenerForSingleValueEvent(new com.google.firebase.database.ValueEventListener() { @Override public void onDataChange( @androidx.annotation.NonNull com.google.firebase.database.DataSnapshot snapshot) { @@ -249,7 +248,9 @@ public class NovaReservaActivity extends AppCompatActivity { for (com.google.firebase.database.DataSnapshot ds : snapshot.getChildren()) { com.example.pap_teste.models.Reserva r = ds .getValue(com.example.pap_teste.models.Reserva.class); - if (r != null && selectedDate.equals(r.getData()) && !"Cancelada".equals(r.getEstado()) + if (r != null && r.getRestauranteEmail() != null && + r.getRestauranteEmail().trim().equalsIgnoreCase(restEmail.trim()) && + selectedDate.equals(r.getData()) && !"Cancelada".equals(r.getEstado()) && !"Recusada".equals(r.getEstado())) { int count = ocupacaoPorHora.getOrDefault(r.getHora(), 0) + 1; ocupacaoPorHora.put(r.getHora(), count);