Ich habe eine Service-Planung Bildschirm.Wiederherstellen von Daten Firestore Collection
Aber es gibt ein Problem:
ich überprüfen müssen, ob das Datum und die Uhrzeit der Benutzer zu planen versucht verfügbar oder reserviert ist.
Structure DB:
Companies
-Company ID (Document)
--name
--phone
---Schedules (Collection)
------Event1
--------Hour: 08:30
--------Date: 01/01/2018
------Event2
--------Hour: 09:00
--------Date: 05/01/2018
------Event3
--------Hour: 10:30
--------Date: 01/002/2018
ich zugreifen Scheduling-Daten mit diesem Code:
String dateExample = "01/01/2018"
String hourExample = "08:30"
FirebaseFirestore mDB = FirebaseFirestore.getInstance();
CollectionReference mDBCompaniesSchedules = (CollectionReference) mDB.collection("Companies").document(mId_Company).collection("Schedules")
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
for (Schedules document : documentSnapshots.toObjects(Schedules.class)) {
String dtSchedules = document.getSchedules_date();
String hourSchedules = document.getSchedules_hour();
if (dtSchedules.equals(dateExample) && hourSchedules.equals(hourExample)){
//Execute a "Toast" and closes the operation
} else {
//Call up the scheduling function.
startScheduling();
}
}
}
})
Prozess:
Ich brauche diesen Code auszuführen und alle Dokumente in dieser Sammlung zu gehen. Ich muss überprüfen und analysieren, ob Datum und Uhrzeit des Zeitplans bereits vorhanden sind.
Wenn es gibt: Zeigen Sie einen Toast und blockieren Sie.
Wenn es keine: Ausführen einer bestimmten Funktion für den Zeitplansatz ("startScheduling()").
Problem:
Wenn die Daten vorhanden sind (es wird nur ein einziges Mal sein), dann wird es funktionieren.
Wenn keine Daten vorhanden sind, fällt es in die ELSE-Schleife. Und es führt mehrmals die gleiche Funktion "startScheduling();" aus.
Ich brauche einen Weg durch diese Sammlung zu gehen, und wenn ich keine Ergebnisse finden, die Funktion „startScheduling(), nur einmal ausgeführt werden.
Können Sie mir helfen mit, dass? @AlexMamo – TiagoIB
Ich gab Ihnen 2 Lösungen. Welche kann man nicht umsetzen? –
So wie es heute ist. Was ist das [email protected] – TiagoIB