Commit 4d7cb155 authored by Bhavesh Yadav's avatar Bhavesh Yadav

Record updates in firebase on check-in

parent cd110d8b
...@@ -12,6 +12,7 @@ import com.google.android.gms.tasks.OnCompleteListener; ...@@ -12,6 +12,7 @@ import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener; import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task; import com.google.android.gms.tasks.Task;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.DocumentReference; import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.DocumentSnapshot; import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore; import com.google.firebase.firestore.FirebaseFirestore;
...@@ -181,13 +182,47 @@ public class sqlite_ops extends SQLiteOpenHelper{ ...@@ -181,13 +182,47 @@ public class sqlite_ops extends SQLiteOpenHelper{
} }
public boolean check_in(checkin_details cd){ public boolean check_in(checkin_details cd){
SQLiteDatabase db= this.getWritableDatabase(); Long timeStamp = System.currentTimeMillis()/1000;
String INSERT_RECORDS="insert into records values(null,'"+cd.getName()+"',"+ cd.getMobile()+",'"+cd.getSlot()+"','"+cd.getVehicle_no()+"',current_timestamp,null,0)";
db.execSQL(INSERT_RECORDS); Map<String, Object> parkingRecord = new HashMap<>();
String FILL_SLOT="update slots set status=1 where slot='"+cd.getSlot()+"'"; parkingRecord.put("name",cd.getName());
db.execSQL(FILL_SLOT); parkingRecord.put("uname",userInfo.getInstance().getUsername());
Log.d(TAG, "check_in: data inserted"); parkingRecord.put("mobile",cd.getMobile());
db.close(); parkingRecord.put("slot",cd.getSlot());
parkingRecord.put("vehicle",cd.getVehicle_no());
parkingRecord.put("checkInTimeDate",timeStamp.toString());
fdb = FirebaseFirestore.getInstance();
fdb.collection("records")
.add(parkingRecord)
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override
public void onSuccess(DocumentReference docref) {
Log.d(TAG, "Parking record successfully written!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
}
});
final CollectionReference collection= fdb.collection("slots");
fdb.collection("slots").whereEqualTo("slot",cd.getSlot()).get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()) {
QuerySnapshot documentSnapshot = task.getResult();
for (QueryDocumentSnapshot document : task.getResult()) {
String id = document.getId();
collection.document(id).update("status", 1);
}
}
else {
Log.d("Checkin","slot update failed");
}
}
});
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment