void queueEntryByManualCustomDialog(bool isDeviceFind, bool isInArea) {
if (isDeviceFind && isInArea) {
if (onQueue) {
CustomDialog(context, 'Zaten sıradasınız. Çıkmak ister misiniz ?', () {
WebServices.socket.emit("exit-from-queue", Constant.deviceID);
setState(() {
onQueue = false;
});
}, "Sıradan Çık", () {}, "İptal", DialogType.WARNING);
} else {
CustomDialog(context, 'Sıraya girmek istediğinize emin misiniz ?', () {
WebServices.socket.emit("enter-to-queue", Constant.deviceID);
setState(() {
onQueue = true;
});
}, "Sıraya Gir", () {}, "iptal", DialogType.WARNING);
}
} else {
CustomDialog(
context,
'Şu an taksi durağına yeteri kadar yakın olmadığınız için sıraya giremezsiniz!',
() {},
"Tamam",
null,
null,
DialogType.ERROR);
}
}
------------------------
butona ilk basıldıgında yapılması gereken emıt
void enterQueueByManually() {
WebServices.socket.emit("check-taxi-station-area", Constant.deviceID);
}
-------------------------------------------------------------------------------
dinlenilmesi gereken socket
WebServices.socket.on("check-taxi-station-area", (data) {
setState(() {
isDeviceFind = data["DeviceFind"] as bool;
isInArea = data["InArea"] as bool;
queueEntryByManualCustomDialog(isDeviceFind, isInArea);
});
});